]> git.mxchange.org Git - friendica.git/blobdiff - src/Module/Magic.php
Changed comment
[friendica.git] / src / Module / Magic.php
index 86e9e44d8b8ac8aa044f5797f3c24eef5ef30009..0b4126e0e965528fba0c9170a725c2b2dec262c9 100644 (file)
@@ -5,15 +5,14 @@
 namespace Friendica\Module;
 
 use Friendica\BaseModule;
+use Friendica\Database\DBA;
 use Friendica\Model\Contact;
-use Friendica\Util\HTTPSig;
+use Friendica\Util\HTTPSignature;
 use Friendica\Util\Network;
 
-use dba;
-
 /**
  * Magic Auth (remote authentication) module.
- * 
+ *
  * Ported from Hubzilla: https://framagit.org/hubzilla/core/blob/master/Zotlabs/Module/Magic.php
  */
 class Magic extends BaseModule
@@ -31,7 +30,7 @@ class Magic extends BaseModule
                $test = ((x($_REQUEST, 'test')) ? intval($_REQUEST['test']) : 0);
                $owa  = ((x($_REQUEST, 'owa'))  ? intval($_REQUEST['owa'])  : 0);
 
-               // NOTE: I guess $dest isn't just the profile url (could be also 
+               // NOTE: I guess $dest isn't just the profile url (could be also
                // other profile pages e.g. photo). We need to find a solution
                // to be able to redirct to other pages than the contact profile.
                $cid = Contact::getIdForURL($dest);
@@ -45,11 +44,11 @@ class Magic extends BaseModule
                        goaway($dest);
                }
 
-               $contact = dba::selectFirst('contact', ['id', 'nurl', 'url'], ['id' => $cid]);
+               $contact = DBA::selectFirst('contact', ['id', 'nurl', 'url'], ['id' => $cid]);
 
                // Redirect if the contact is already authenticated on this site.
-               if (array_key_exists('id', $a->contact) && strpos($contact['nurl'], normalise_link(self::getApp()->get_baseurl())) !== false) {
-                       if($test) {
+               if (!empty($a->contact) && array_key_exists('id', $a->contact) && strpos($contact['nurl'], normalise_link(self::getApp()->get_baseurl())) !== false) {
+                       if ($test) {
                                $ret['success'] = true;
                                $ret['message'] .= 'Local site - you are already authenticated.' . EOL;
                                return $ret;
@@ -76,14 +75,10 @@ class Magic extends BaseModule
                                $headers['X-Open-Web-Auth'] = random_string();
 
                                // Create a header that is signed with the local users private key.
-                               $headers = HTTPSig::createSig(
-                                                       '',
-                                                       $headers,
-                                                       $user['prvkey'],
-                                                       'acct:' . $user['nickname'] . '@' . $a->get_hostname() . ($a->path ? '/' . $a->path : ''),
-                                                       false,
-                                                       true,
-                                                       'sha512'
+                               $headers = HTTPSignature::createSig(
+                                       $headers,
+                                       $user['prvkey'],
+                                       'acct:' . $user['nickname'] . '@' . $a->get_hostname() . ($a->urlpath ? '/' . $a->urlpath : '')
                                );
 
                                // Try to get an authentication token from the other instance.
@@ -111,7 +106,7 @@ class Magic extends BaseModule
                        }
                }
 
-               if($test) {
+               if ($test) {
                        $ret['message'] = 'Not authenticated or invalid arguments' . EOL;
                        return $ret;
                }