summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Auth/OpenID/Server.php12
-rw-r--r--Tests/Auth/OpenID/Server.php9
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()