]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
Claim that we are the URL without index.php/ in webfinger response
authorMikael Nordfeldth <mmn@hethane.se>
Sun, 21 Feb 2016 18:09:39 +0000 (19:09 +0100)
committerMikael Nordfeldth <mmn@hethane.se>
Sun, 21 Feb 2016 18:09:39 +0000 (19:09 +0100)
plugins/WebFinger/lib/webfingerresource.php

index 90b818add18f711cffc1859b314729a76fdad7f2..0445b9a0a23246654e000e53039ebb6b1fc5ed8c 100644 (file)
@@ -47,6 +47,20 @@ abstract class WebFingerResource
             // getUrl failed because no valid URL could be returned, just ignore it
         }
 
+        // We claim that we are for example https://site.example/user/1 even if the client
+        // requests https://site.example/index.php/user/1 due to behaviour seen in the wild.
+        foreach(array_keys($aliases) as $alias) {
+            try {
+                // get a "fancy url" version of the alias, even without index.php/
+                $fancy_url = common_fake_local_fancy_url($alias);
+                // store this as well so remote sites can be sure we really are the same profile
+                $aliases[$fancy_url] = true;
+            } catch (Exception $e) {
+                // in case we couldn't make a "fake local fancy URL", just continue the foreach-loop
+                continue;
+            }
+        }
+
         // return a unique set of aliases by extracting only the keys
         return array_keys($aliases);
     }