Skip to content

Commit 98521d0

Browse files
author
tailor
committed
[project @ If we're generating user_setup_urls, let's at least do it correctly]
1 parent 422ac54 commit 98521d0

File tree

2 files changed

+15
-6
lines changed

2 files changed

+15
-6
lines changed

Auth/OpenID/Server.php

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -765,12 +765,17 @@ function make(&$message, $identity, $return_to, $trust_root = null,
765765

766766
function Auth_OpenID_CheckIDRequest($identity, $return_to,
767767
$trust_root = null, $immediate = false,
768-
$assoc_handle = null, $server = null)
768+
$assoc_handle = null, $server = null,
769+
$claimed_id = null)
769770
{
770771
$this->namespace = Auth_OpenID_OPENID2_NS;
771772
$this->assoc_handle = $assoc_handle;
772773
$this->identity = $identity;
773-
$this->claimed_id = $identity;
774+
if ($claimed_id === null) {
775+
$this->claimed_id = $identity;
776+
} else {
777+
$this->claimed_id = $claimed_id;
778+
}
774779
$this->return_to = $return_to;
775780
$this->trust_root = $trust_root;
776781
$this->server =& $server;
@@ -1098,7 +1103,8 @@ function answer($allow, $server_url = null, $identity = null,
10981103
$this->trust_root,
10991104
false,
11001105
$this->assoc_handle,
1101-
$this->server);
1106+
$this->server,
1107+
$this->claimed_id);
11021108
$setup_request->message = $this->message;
11031109

11041110
$setup_url = $setup_request->encodeToURL($server_url);

Tests/Auth/OpenID/Server.php

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1419,6 +1419,7 @@ function test_answerImmediateDenyOpenID1()
14191419
$this->request->message = $msg;
14201420
$this->request->namespace = $msg->getOpenIDNamespace();
14211421
$this->request->mode = 'checkid_immediate';
1422+
$this->request->claimed_id = 'http://claimed-id.test/';
14221423
$this->request->immediate = true;
14231424
$server_url = "http://setup-url.unittest/";
14241425
$answer = $this->request->answer(false, $server_url);
@@ -1431,9 +1432,11 @@ function test_answerImmediateDenyOpenID1()
14311432
$answer->fields->namespaces->isImplicit(Auth_OpenID_OPENID1_NS));
14321433
$this->assertEquals($answer->fields->getArg(Auth_OpenID_OPENID_NS, 'mode'),
14331434
'id_res');
1434-
$this->assertTrue(strpos($answer->fields->getArg(Auth_OpenID_OPENID_NS,
1435-
'user_setup_url'),
1436-
$server_url) == 0);
1435+
1436+
$usu = $answer->fields->getArg(Auth_OpenID_OPENID_NS,'user_setup_url');
1437+
$this->assertTrue(strpos($usu, $server_url) == 0);
1438+
$expected_substr = 'openid.claimed_id=http%3A%2F%2Fclaimed-id.test%2F';
1439+
$this->assertTrue(strpos($usu, $expected_substr), $usu);
14371440
}
14381441

14391442
function test_answerImmediateDenyOpenID2()

0 commit comments

Comments
 (0)