Example #1
0
 function runTest()
 {
     $this->assertEquals(Services_Yadis_identifierScheme('=john.smith'), 'XRI');
     $this->assertEquals(Services_Yadis_identifierScheme('@smiths/john'), 'XRI');
     $this->assertEquals(Services_Yadis_identifierScheme('smoker.myopenid.com'), 'URI');
     $this->assertEquals(Services_Yadis_identifierScheme('xri://=john'), 'XRI');
 }
Example #2
0
 /**
  * Start the OpenID authentication process. See steps 1-2 in the
  * overview at the top of this file.
  *
  * @param User_url: Identity URL given by the user. This method
  * performs a textual transformation of the URL to try and make
  * sure it is normalized. For example, a user_url of example.com
  * will be normalized to http://example.com/ normalizing and
  * resolving any redirects the server might issue.
  *
  * @return Auth_OpenID_AuthRequest $auth_request An object
  * containing the discovered information will be returned, with a
  * method for building a redirect URL to the server, as described
  * in step 3 of the overview. This object may also be used to add
  * extension arguments to the request, using its 'addExtensionArg'
  * method.
  */
 function begin($user_url)
 {
     $discoverMethod = '_Auth_OpenID_discoverServiceList';
     $openid_url = $user_url;
     if (Services_Yadis_identifierScheme($user_url) == 'XRI') {
         $discoverMethod = '_Auth_OpenID_discoverXRIServiceList';
     } else {
         $openid_url = Auth_OpenID::normalizeUrl($user_url);
     }
     $disco =& new Services_Yadis_Discovery($this->session, $openid_url, $this->session_key_prefix);
     // Set the 'stale' attribute of the manager.  If discovery
     // fails in a fatal way, the stale flag will cause the manager
     // to be cleaned up next time discovery is attempted.
     $m = $disco->getManager();
     $loader = new Services_Yadis_ManagerLoader();
     if ($m) {
         if ($m->stale) {
             $disco->destroyManager();
         } else {
             $m->stale = true;
             $disco->session->set($disco->session_key, serialize($loader->toSession($m)));
         }
     }
     $endpoint = $disco->getNextService($discoverMethod, $this->consumer->fetcher);
     // Reset the 'stale' attribute of the manager.
     $m =& $disco->getManager();
     if ($m) {
         $m->stale = false;
         $disco->session->set($disco->session_key, serialize($loader->toSession($m)));
     }
     if ($endpoint === null) {
         return null;
     } else {
         return $this->beginWithoutDiscovery($endpoint);
     }
 }
Example #3
0
 function OpenIDToUserName($openid)
 {
     if (Services_Yadis_identifierScheme($openid) == 'XRI') {
         wfDebug("OpenID: Handling an XRI: {$openid}\n");
         return OpenIDToUserNameXri($openid);
     } else {
         wfDebug("OpenID: Handling an URL: {$openid}\n");
         return OpenIDToUserNameUrl($openid);
     }
 }
Example #4
0
 function OpenIDToUrl($openid)
 {
     /* ID is either an URL already or an i-name */
     if (Services_Yadis_identifierScheme($openid) == 'XRI') {
         return OpenIDXriToUrl($openid);
     } else {
         return $openid;
     }
 }