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',
$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);
}
}
}