X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=plugins%2FWebFinger%2FWebFingerPlugin.php;h=1edc3d8971351790ac70f9fc22418800814a6237;hb=d6b28c64830f632bb2f4b6f3c9369b9e56ad217a;hp=0de9470708ac432ca64a35cde790565faff71c10;hpb=546a03b5eac5f172d543a889625e2f4de446e8b7;p=quix0rs-gnu-social.git diff --git a/plugins/WebFinger/WebFingerPlugin.php b/plugins/WebFinger/WebFingerPlugin.php index 0de9470708..1edc3d8971 100644 --- a/plugins/WebFinger/WebFingerPlugin.php +++ b/plugins/WebFinger/WebFingerPlugin.php @@ -31,7 +31,18 @@ if (!defined('GNUSOCIAL')) { exit(1); } class WebFingerPlugin extends Plugin { - public function onRouterInitialized($m) + const OAUTH_ACCESS_TOKEN_REL = 'http://apinamespace.org/oauth/access_token'; + const OAUTH_REQUEST_TOKEN_REL = 'http://apinamespace.org/oauth/request_token'; + const OAUTH_AUTHORIZE_REL = 'http://apinamespace.org/oauth/authorize'; + + public $http_alias = false; + + public function initialize() + { + common_config_set('webfinger', 'http_alias', $this->http_alias); + } + + public function onRouterInitialized(URLMapper $m) { $m->connect('.well-known/host-meta', array('action' => 'hostmeta')); $m->connect('.well-known/host-meta.:format', @@ -120,19 +131,24 @@ class WebFingerPlugin extends Plugin $type, true); // isTemplate } + + // OAuth connections + $links[] = new XML_XRD_Element_link(self::OAUTH_ACCESS_TOKEN_REL, common_local_url('ApiOAuthAccessToken')); + $links[] = new XML_XRD_Element_link(self::OAUTH_REQUEST_TOKEN_REL, common_local_url('ApiOAuthRequestToken')); + $links[] = new XML_XRD_Element_link(self::OAUTH_AUTHORIZE_REL, common_local_url('ApiOAuthAuthorize')); } /** * Add a link header for LRDD Discovery */ - public function onStartShowHTML($action) + public function onStartShowHTML(Action $action) { if ($action instanceof ShowstreamAction) { - $acct = 'acct:'. $action->profile->nickname .'@'. common_config('site', 'server'); + $acct = 'acct:'. $action->getTarget()->getNickname() .'@'. common_config('site', 'server'); $url = common_local_url('webfinger') . '?resource='.$acct; foreach (array(Discovery::JRD_MIMETYPE, Discovery::XRD_MIMETYPE) as $type) { - header('Link: <'.$url.'>; rel="'. Discovery::LRDD_REL.'"; type="'.$type.'"'); + header('Link: <'.$url.'>; rel="'. Discovery::LRDD_REL.'"; type="'.$type.'"', false); } } }