diff options
-rw-r--r-- | Auth/OpenID/Server.php | 12 | ||||
-rw-r--r-- | Tests/Auth/OpenID/Server.php | 9 |
2 files changed, 15 insertions, 6 deletions
diff --git a/Auth/OpenID/Server.php b/Auth/OpenID/Server.php index e746bcc..f1db4d8 100644 --- a/Auth/OpenID/Server.php +++ b/Auth/OpenID/Server.php @@ -765,12 +765,17 @@ class Auth_OpenID_CheckIDRequest extends Auth_OpenID_Request { function Auth_OpenID_CheckIDRequest($identity, $return_to, $trust_root = null, $immediate = false, - $assoc_handle = null, $server = null) + $assoc_handle = null, $server = null, + $claimed_id = null) { $this->namespace = Auth_OpenID_OPENID2_NS; $this->assoc_handle = $assoc_handle; $this->identity = $identity; - $this->claimed_id = $identity; + if ($claimed_id === null) { + $this->claimed_id = $identity; + } else { + $this->claimed_id = $claimed_id; + } $this->return_to = $return_to; $this->trust_root = $trust_root; $this->server =& $server; @@ -1098,7 +1103,8 @@ class Auth_OpenID_CheckIDRequest extends Auth_OpenID_Request { $this->trust_root, false, $this->assoc_handle, - $this->server); + $this->server, + $this->claimed_id); $setup_request->message = $this->message; $setup_url = $setup_request->encodeToURL($server_url); diff --git a/Tests/Auth/OpenID/Server.php b/Tests/Auth/OpenID/Server.php index 7615ffc..79a7593 100644 --- a/Tests/Auth/OpenID/Server.php +++ b/Tests/Auth/OpenID/Server.php @@ -1419,6 +1419,7 @@ class Tests_Auth_OpenID_CheckID extends PHPUnit_TestCase { $this->request->message = $msg; $this->request->namespace = $msg->getOpenIDNamespace(); $this->request->mode = 'checkid_immediate'; + $this->request->claimed_id = 'http://claimed-id.test/'; $this->request->immediate = true; $server_url = "http://setup-url.unittest/"; $answer = $this->request->answer(false, $server_url); @@ -1431,9 +1432,11 @@ class Tests_Auth_OpenID_CheckID extends PHPUnit_TestCase { $answer->fields->namespaces->isImplicit(Auth_OpenID_OPENID1_NS)); $this->assertEquals($answer->fields->getArg(Auth_OpenID_OPENID_NS, 'mode'), 'id_res'); - $this->assertTrue(strpos($answer->fields->getArg(Auth_OpenID_OPENID_NS, - 'user_setup_url'), - $server_url) == 0); + + $usu = $answer->fields->getArg(Auth_OpenID_OPENID_NS,'user_setup_url'); + $this->assertTrue(strpos($usu, $server_url) == 0); + $expected_substr = 'openid.claimed_id=http%3A%2F%2Fclaimed-id.test%2F'; + $this->assertTrue(strpos($usu, $expected_substr), $usu); } function test_answerImmediateDenyOpenID2() |