Пример #1
0
 function Auth_OpenID_CheckIDResponse(&$request, $mode = 'id_res')
 {
     parent::Auth_OpenID_ServerResponse($request);
     $this->fields['mode'] = $mode;
     $this->signed = array();
     if ($mode == 'id_res') {
         array_push($this->signed, 'mode', 'identity', 'return_to');
     }
 }
Пример #2
0
 function _test($uri)
 {
     // Create a request message with simple registration fields
     $sreg_req = Auth_OpenID_SRegRequest::build(array('nickname', 'email'), array('fullname'));
     $req_msg = new Auth_OpenID_Message($uri);
     $req_msg->updateArgs(Auth_OpenID_SREG_NS_URI, $sreg_req->getExtensionArgs());
     $req = new Auth_OpenID_Request();
     $req->message =& $req_msg;
     $req->namespace = $req_msg->getOpenIDNamespace();
     // -> send checkid_* request
     // Create an empty response message
     $resp_msg = new Auth_OpenID_Message($uri);
     $resp = new Auth_OpenID_ServerResponse($req);
     $resp->fields = $resp_msg;
     $data = array('nickname' => 'linusaur', 'postcode' => '12345', 'country' => 'US', 'gender' => 'M', 'fullname' => 'Leonhard Euler', 'email' => '*****@*****.**', 'dob' => '0000-00-00', 'language' => 'en-us');
     // Put the requested data fields in the response message
     $sreg_resp = Auth_OpenID_SRegResponse::extractResponse($sreg_req, $data);
     $resp->addExtension($sreg_resp);
     // <- send id_res response
     // Extract the fields that were sent
     $sreg_data_resp = $resp->fields->getArgs(Auth_OpenID_SREG_NS_URI);
     $this->assertEquals(array('nickname' => 'linusaur', 'email' => '*****@*****.**', 'fullname' => 'Leonhard Euler'), $sreg_data_resp);
 }
Пример #3
0
 function test_cancelToForm()
 {
     $request = new Auth_OpenID_CheckIDRequest('http://bombom.unittest/', 'http://burr.unittest/999', 'http://burr.unittest/', false, null, $this->server);
     $response = new Auth_OpenID_ServerResponse($request);
     $response->fields = Auth_OpenID_Message::fromOpenIDArgs(array('mode' => 'cancel'));
     $form = $response->toFormMarkup();
     $pos = strpos($form, 'http://burr.unittest/999');
     $this->assertTrue($pos !== false, var_export($pos, true));
 }
Пример #4
0
 function test_id_res_OpenID1_exceeds_limit()
 {
     /* Check that when an OpenID 1 response exceeds the OpenID 1
        message size, a GET response is issued.  Technically, this
        shouldn't be permitted by the library, but this test is in
        place to preserve the status quo for OpenID 1. */
     $request = new Auth_OpenID_CheckIDRequest('http://bombom.unittest/', 'http://burr.unittest/999', 'http://burr.unittest/', false, $this->server->op_endpoint);
     $response = new Auth_OpenID_ServerResponse($request);
     $response->fields = Auth_OpenID_Message::fromOpenIDArgs(array('mode' => 'id_res', 'identity' => $request->identity, 'return_to' => str_repeat('x', Auth_OpenID_OPENID1_URL_LIMIT)));
     $this->assertFalse($response->renderAsForm());
     $this->assertTrue(strlen($response->encodeToURL()) > Auth_OpenID_OPENID1_URL_LIMIT);
     $this->assertTrue($response->whichEncoding() == Auth_OpenID_ENCODE_URL);
     $webresponse = $this->encode($response);
     $this->assertEquals($webresponse->headers['location'], $response->encodeToURL());
 }