diff options
author | Kevin Turner <kevin@janrain.com> | 2008-06-05 22:46:40 +0000 |
---|---|---|
committer | Kevin Turner <kevin@janrain.com> | 2008-06-05 22:46:40 +0000 |
commit | 7455505ee9722f8fade6ee7488f9a5f9ddde17e4 (patch) | |
tree | 67c8581197a1f0923d522988e707c15c49a8d715 | |
parent | 81421d3750c95ca9d2928c1118fc46489d702386 (diff) | |
download | php-openid-7455505ee9722f8fade6ee7488f9a5f9ddde17e4.zip php-openid-7455505ee9722f8fade6ee7488f9a5f9ddde17e4.tar.gz php-openid-7455505ee9722f8fade6ee7488f9a5f9ddde17e4.tar.bz2 |
[project @ Deprecate Auth_OpenID_CheckIDRequest::namespace and stop using == Auth_OpenID_OPENID1_NS anywhere in server]
-rw-r--r-- | Auth/OpenID/Server.php | 44 | ||||
-rw-r--r-- | Tests/Auth/OpenID/Server.php | 16 |
2 files changed, 37 insertions, 23 deletions
diff --git a/Auth/OpenID/Server.php b/Auth/OpenID/Server.php index d85c9f7..81bd3f1 100644 --- a/Auth/OpenID/Server.php +++ b/Auth/OpenID/Server.php @@ -600,7 +600,7 @@ class Auth_OpenID_AssociateRequest extends Auth_OpenID_Request { function fromMessage($message, $server=null) { if ($message->isOpenID1()) { - $session_type = $message->getArg(Auth_OpenID_OPENID1_NS, + $session_type = $message->getArg(Auth_OpenID_OPENID_NS, 'session_type'); if ($session_type == 'no-encryption') { @@ -610,7 +610,7 @@ class Auth_OpenID_AssociateRequest extends Auth_OpenID_Request { $session_type = 'no-encryption'; } } else { - $session_type = $message->getArg(Auth_OpenID_OPENID2_NS, + $session_type = $message->getArg(Auth_OpenID_OPENID_NS, 'session_type'); if ($session_type === null) { return new Auth_OpenID_ServerError($message, @@ -662,7 +662,7 @@ class Auth_OpenID_AssociateRequest extends Auth_OpenID_Request { $this->session->answer($assoc->secret)); if (! ($this->session->session_type == 'no-encryption' - && $this->namespace == Auth_OpenID_OPENID1_NS)) { + && $this->message->isOpenID1())) { $response->fields->setArg(Auth_OpenID_OPENID_NS, 'session_type', $this->session->session_type); @@ -728,6 +728,12 @@ class Auth_OpenID_CheckIDRequest extends Auth_OpenID_Request { */ var $trust_root = null; + /** + * The OpenID namespace for this request. + * deprecated since version 2.0.2 + */ + var $namespace; + function make(&$message, $identity, $return_to, $trust_root = null, $immediate = false, $assoc_handle = null, $server = null) { @@ -826,9 +832,7 @@ class Auth_OpenID_CheckIDRequest extends Auth_OpenID_Request { $return_to = $message->getArg(Auth_OpenID_OPENID_NS, 'return_to'); - $namespace = $message->getOpenIDNamespace(); - - if (($namespace == Auth_OpenID_OPENID1_NS) && + if (($message->isOpenID1()) && (!$return_to)) { $fmt = "Missing required field 'return_to' from checkid request"; return new Auth_OpenID_ServerError($message, $fmt); @@ -857,7 +861,7 @@ class Auth_OpenID_CheckIDRequest extends Auth_OpenID_Request { // There's a case for making self.trust_root be a TrustRoot // here. But if TrustRoot isn't currently part of the // "public" API, I'm not sure it's worth doing. - if ($namespace == Auth_OpenID_OPENID1_NS) { + if ($message->isOpenID1()) { $trust_root_param = 'trust_root'; } else { $trust_root_param = 'realm'; @@ -868,7 +872,7 @@ class Auth_OpenID_CheckIDRequest extends Auth_OpenID_Request { $trust_root = $return_to; } - if ($namespace != Auth_OpenID_OPENID1_NS && + if (! $message->isOpenID1() && ($return_to === null) && ($trust_root === null)) { return new Auth_OpenID_ServerError($message, @@ -969,7 +973,7 @@ class Auth_OpenID_CheckIDRequest extends Auth_OpenID_Request { } if (!$server_url) { - if (($this->namespace != Auth_OpenID_OPENID1_NS) && + if ((!$this->message->isOpenID1()) && (!$this->server->op_endpoint)) { return new Auth_OpenID_ServerError(null, "server should be constructed with op_endpoint to " . @@ -981,7 +985,7 @@ class Auth_OpenID_CheckIDRequest extends Auth_OpenID_Request { if ($allow) { $mode = 'id_res'; - } else if ($this->namespace == Auth_OpenID_OPENID1_NS) { + } else if ($this->message->isOpenID1()) { if ($this->immediate) { $mode = 'id_res'; } else { @@ -1004,7 +1008,7 @@ class Auth_OpenID_CheckIDRequest extends Auth_OpenID_Request { $response = new Auth_OpenID_ServerResponse($this); if ($claimed_id && - ($this->namespace == Auth_OpenID_OPENID1_NS)) { + ($this->message->isOpenID1())) { return new Auth_OpenID_ServerError(null, "claimed_id is new in OpenID 2.0 and not " . "available for ".$this->namespace); @@ -1046,7 +1050,7 @@ class Auth_OpenID_CheckIDRequest extends Auth_OpenID_Request { $response_identity = null; } - if (($this->namespace == Auth_OpenID_OPENID1_NS) && + if (($this->message->isOpenID1()) && ($response_identity === null)) { return new Auth_OpenID_ServerError(null, "Request was an OpenID 1 request, so response must " . @@ -1064,7 +1068,7 @@ class Auth_OpenID_CheckIDRequest extends Auth_OpenID_Request { Auth_OpenID_OPENID_NS, 'identity', $response_identity); - if ($this->namespace == Auth_OpenID_OPENID2_NS) { + if ($this->message->isOpenID2()) { $response->fields->setArg( Auth_OpenID_OPENID_NS, 'claimed_id', @@ -1077,7 +1081,7 @@ class Auth_OpenID_CheckIDRequest extends Auth_OpenID_Request { 'mode', $mode); if ($this->immediate) { - if (($this->namespace == Auth_OpenID_OPENID1_NS) && + if (($this->message->isOpenID1()) && (!$server_url)) { return new Auth_OpenID_ServerError(null, 'setup_url is required for $allow=false \ @@ -1091,6 +1095,7 @@ class Auth_OpenID_CheckIDRequest extends Auth_OpenID_Request { false, $this->assoc_handle, $this->server); + $setup_request->message = $this->message; $setup_url = $setup_request->encodeToURL($server_url); @@ -1124,7 +1129,7 @@ class Auth_OpenID_CheckIDRequest extends Auth_OpenID_Request { 'return_to' => $this->return_to); if ($this->trust_root) { - if ($this->namespace == Auth_OpenID_OPENID1_NS) { + if ($this->message->isOpenID1()) { $q['trust_root'] = $this->trust_root; } else { $q['realm'] = $this->trust_root; @@ -1135,9 +1140,9 @@ class Auth_OpenID_CheckIDRequest extends Auth_OpenID_Request { $q['assoc_handle'] = $this->assoc_handle; } - $response = new Auth_OpenID_Message($this->namespace); - $response->updateArgs($this->namespace, $q); - + $response = new Auth_OpenID_Message( + $this->message->getOpenIDNamespace()); + $response->updateArgs(Auth_OpenID_OPENID_NS, $q); return $response->toURL($server_url); } @@ -1154,7 +1159,8 @@ class Auth_OpenID_CheckIDRequest extends Auth_OpenID_Request { requests."); } - $response = new Auth_OpenID_Message($this->namespace); + $response = new Auth_OpenID_Message( + $this->message->getOpenIDNamespace()); $response->setArg(Auth_OpenID_OPENID_NS, 'mode', 'cancel'); return $response->toURL($this->return_to); } diff --git a/Tests/Auth/OpenID/Server.php b/Tests/Auth/OpenID/Server.php index 35b05e5..a52f21a 100644 --- a/Tests/Auth/OpenID/Server.php +++ b/Tests/Auth/OpenID/Server.php @@ -1010,6 +1010,9 @@ class Tests_Auth_OpenID_CheckID extends PHPUnit_TestCase { 'http://bar.unittest/', false, null, $this->server); + + $this->request->message = new Auth_OpenID_Message( + Auth_OpenID_OPENID2_NS); } function test_fromMessageClaimedIDWithoutIdentityOpenID2() @@ -1259,7 +1262,8 @@ class Tests_Auth_OpenID_CheckID extends PHPUnit_TestCase { function test_answerAllowWithDelegatedIdentityOpenID1() { // claimed_id parameter doesn't exist in OpenID 1. - $this->request->namespace = Auth_OpenID_OPENID1_NS; + $msg = new Auth_OpenID_Message(Auth_OpenID_OPENID1_NS); + $this->request->message = $msg; // claimed_id delegates to selected_id here. $this->request->identity = Auth_OpenID_IDENTIFIER_SELECT; $selected_id = 'http://anon.unittest/9861'; @@ -1270,7 +1274,8 @@ class Tests_Auth_OpenID_CheckID extends PHPUnit_TestCase { $selected_id, $claimed_id); - $this->assertTrue(is_a($result, "Auth_OpenID_ServerError")); + $this->assertTrue(is_a($result, "Auth_OpenID_ServerError"), + var_export($result, true)); } function test_answerAllowWithAnotherIdentity() @@ -1285,7 +1290,8 @@ class Tests_Auth_OpenID_CheckID extends PHPUnit_TestCase { function test_answerAllowNoIdentityOpenID1() { - $this->request->namespace = Auth_OpenID_OPENID1_NS; + $msg = new Auth_OpenID_Message(Auth_OpenID_OPENID1_NS); + $this->request->message = $msg; $this->request->identity = null; // $this->failUnlessRaises(ValueError, $this->request->answer, true, // identity=null); @@ -1377,7 +1383,9 @@ class Tests_Auth_OpenID_CheckID extends PHPUnit_TestCase { function test_answerImmediateDenyOpenID1() { - $this->request->namespace = Auth_OpenID_OPENID1_NS; + $msg = new Auth_OpenID_Message(Auth_OpenID_OPENID1_NS); + $this->request->message = $msg; + $this->request->namespace = $msg->getOpenIDNamespace(); $this->request->mode = 'checkid_immediate'; $this->request->immediate = true; $server_url = "http://setup-url.unittest/"; |