diff --git a/extlib/Auth/OpenID.php b/extlib/Auth/OpenID.php index 6a6e54f8b7..6556b5b01e 100644 --- a/extlib/Auth/OpenID.php +++ b/extlib/Auth/OpenID.php @@ -20,7 +20,7 @@ /** * The library version string */ -define('Auth_OpenID_VERSION', '2.1.1'); +define('Auth_OpenID_VERSION', '2.1.2'); /** * Require the fetcher code. diff --git a/extlib/Auth/OpenID/Consumer.php b/extlib/Auth/OpenID/Consumer.php index 6631cbaa90..a72684c6b8 100644 --- a/extlib/Auth/OpenID/Consumer.php +++ b/extlib/Auth/OpenID/Consumer.php @@ -711,7 +711,9 @@ class Auth_OpenID_GenericConsumer { return $this->_completeInvalid($message, $endpoint); } - return new Auth_OpenID_SetupNeededResponse($endpoint); + $user_setup_url = $message->getArg(Auth_OpenID_OPENID2_NS, + 'user_setup_url'); + return new Auth_OpenID_SetupNeededResponse($endpoint, $user_setup_url); } /** diff --git a/extlib/Auth/OpenID/Server.php b/extlib/Auth/OpenID/Server.php index e746bcc574..f1db4d8725 100644 --- a/extlib/Auth/OpenID/Server.php +++ b/extlib/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);