Example #1
0
 function fromQuery($query)
 {
     global $_Auth_OpenID_OpenID_Prefix;
     $session_classes = array('DH-SHA1' => 'Auth_OpenID_DiffieHellmanServerSession', null => 'Auth_OpenID_PlainTextServerSession');
     $session_type = null;
     if (array_key_exists($_Auth_OpenID_OpenID_Prefix . 'session_type', $query)) {
         $session_type = $query[$_Auth_OpenID_OpenID_Prefix . 'session_type'];
     }
     if (!array_key_exists($session_type, $session_classes)) {
         return new Auth_OpenID_ServerError($query, "Unknown session type {$session_type}");
     }
     $session_cls = $session_classes[$session_type];
     $session = call_user_func_array(array($session_cls, 'fromQuery'), array($query));
     if ($session === null || _isError($session)) {
         return new Auth_OpenID_ServerError($query, "Error parsing {$session_type} session");
     }
     return new Auth_OpenID_AssociateRequest($session);
 }
Example #2
0
 function test_answerAllow()
 {
     $answer = $this->request->answer(true);
     if (_isError($answer)) {
         $this->fail($answer->toString());
         return;
     }
     $this->assertEquals($answer->request, $this->request);
     $this->assertEquals($answer->fields, array('mode' => 'id_res', 'identity' => $this->request->identity, 'return_to' => $this->request->return_to));
     $this->assertEquals($answer->signed, array("mode", "identity", "return_to"));
 }