Skip to content

Commit a3d2f20

Browse files
author
tailor
committed
[project @ Fix simple registration API to use toMessage()]
1 parent 60e6e1e commit a3d2f20

File tree

3 files changed

+27
-20
lines changed

3 files changed

+27
-20
lines changed

Auth/OpenID/SReg.php

Lines changed: 5 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
* // the fields in sreg_response were requested ]
2828
* $sreg_resp = Auth_OpenID_SRegResponse::extractResponse(
2929
* $sreg_req, $user_data);
30-
* $sreg_resp->addToOpenIDResponse($openid_response);
30+
* $sreg_resp->toMessage($openid_response->fields);
3131
*
3232
* 3. The relying party uses {@link
3333
* Auth_OpenID_SRegResponse::fromSuccessResponse} to extract the data
@@ -465,7 +465,7 @@ function extractResponse($request, $data)
465465
* Returns a simple registration response containing the data that
466466
* was supplied with the C{id_res} response.
467467
*/
468-
function fromSuccessResponse($success_response, $signed_only=true)
468+
function fromSuccessResponse(&$success_response, $signed_only=true)
469469
{
470470
global $Auth_OpenID_sreg_data_fields;
471471

@@ -491,18 +491,9 @@ function fromSuccessResponse($success_response, $signed_only=true)
491491
return $obj;
492492
}
493493

494-
/**
495-
* Add the data fields contained in this simple registration
496-
* response to the supplied message, in the appropriate namespace.
497-
*
498-
* response_message: The OpenID id_res response message that will
499-
* be returned to the relying party
500-
*
501-
* Returns nothing; updates the response_message
502-
*/
503-
function addToOpenIDResponse(&$response_message)
494+
function getExtensionArgs()
504495
{
505-
$response_message->updateArgs($this->ns_uri, $this->data);
496+
return $this->data;
506497
}
507498

508499
// Read-only dictionary interface
@@ -544,7 +535,7 @@ function Auth_OpenID_sendSRegFields(&$openid_request, $data, &$openid_response)
544535
$openid_request->message);
545536
$sreg_response = Auth_OpenID_SRegResponse::extractResponse(
546537
$sreg_request, $data);
547-
$sreg_response->addToOpenIDResponse($openid_response->fields);
538+
$sreg_response->toMessage($openid_response->fields);
548539
}
549540

550541
?>

Tests/Auth/OpenID/SReg.php

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -576,23 +576,23 @@ function test_fromSuccessResponse_unsigned()
576576
}
577577

578578
class SendFieldsTest extends PHPUnit_TestCase {
579-
function test()
579+
function _test($uri)
580580
{
581581
// Create a request message with simple registration fields
582582
$sreg_req = Auth_OpenID_SRegRequest::build(array('nickname', 'email'),
583583
array('fullname'));
584-
$req_msg = new Auth_OpenID_Message();
584+
$req_msg = new Auth_OpenID_Message($uri);
585585
$req_msg->updateArgs(Auth_OpenID_SREG_NS_URI,
586586
$sreg_req->getExtensionArgs());
587587

588588
$req = new Auth_OpenID_Request();
589-
$req->message = $req_msg;
589+
$req->message =& $req_msg;
590590
$req->namespace = $req_msg->getOpenIDNamespace();
591591

592592
// -> send checkid_* request
593593

594594
// Create an empty response message
595-
$resp_msg = new Auth_OpenID_Message();
595+
$resp_msg = new Auth_OpenID_Message($uri);
596596
$resp = new Auth_OpenID_ServerResponse($req);
597597
$resp->fields = $resp_msg;
598598

@@ -619,6 +619,14 @@ function test()
619619
'fullname' => 'Leonhard Euler'),
620620
$sreg_data_resp);
621621
}
622+
623+
function test()
624+
{
625+
foreach (array(Auth_OpenID_OPENID1_NS,
626+
Auth_OpenID_OPENID2_NS) as $uri) {
627+
$this->_test($uri);
628+
}
629+
}
622630
}
623631

624632
class Tests_Auth_OpenID_SReg extends PHPUnit_TestSuite {

examples/server/lib/common.php

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,9 +66,17 @@ function doAuth($info, $trusted=null, $fail_cancels=false,
6666
'language' => 'eu',
6767
'timezone' => 'America/New_York');
6868

69-
Auth_OpenID_sendSRegFields($info, $sreg_data,
70-
$response);
69+
// Add the simple registration response values to the OpenID
70+
// response message.
71+
$sreg_request = Auth_OpenID_SRegRequest::fromOpenIDRequest(
72+
$info->message);
7173

74+
$sreg_response = Auth_OpenID_SRegResponse::extractResponse(
75+
$sreg_request, $sreg_data);
76+
77+
$sreg_response->toMessage($response->fields);
78+
79+
// Generate a response to send to the user agent.
7280
$webresponse =& $server->encodeResponse($response);
7381

7482
$new_headers = array();

0 commit comments

Comments
 (0)