add OpenID data to the Webfinger XRD file so you can login with it elsewhere

This commit is contained in:
Evan Prodromou 2010-12-01 13:43:34 -05:00
parent 86383ecb14
commit 0410462c4b

View File

@ -735,4 +735,29 @@ class OpenIDPlugin extends Plugin
return true;
}
/**
* Add link in user's XRD file to allow OpenID login.
*
* This link in the XRD should let users log in with their
* Webfinger identity to services that support it. See
* http://webfinger.org/login for an example.
*
* @param XRD &$xrd Currently-displaying XRD object
* @param User $user The user that it's for
*
* @return boolean hook value (always true)
*/
function onEndXrdActionLinks(&$xrd, $user)
{
$profile = $user->getProfile();
if (!empty($profile)) {
$xrd->links[] = array('rel' => 'http://specs.openid.net/auth/2.0/provider',
'href' => $profile->profileurl);
}
return true;
}
}