/** * @access private */ function _complete_id_res($message, &$endpoint, $return_to) { $user_setup_url = $message->getArg(Auth_OpenID_OPENID1_NS, 'user_setup_url'); if ($this->_checkSetupNeeded($message)) { return SetupNeededResponse($endpoint, $user_setup_url); } else { return $this->_doIdRes($message, $endpoint, $return_to); } }
/** * Given an {@link Auth_OpenID_Message}, {@link * Auth_OpenID_ServiceEndpoint} and optional return_to URL, * complete OpenID authentication. * * @access private */ function complete($message, $endpoint, $return_to = null) { $mode = $message->getArg(Auth_OpenID_OPENID_NS, 'mode', '<no mode set>'); if ($return_to !== null) { if (!$this->_checkReturnTo($message, $return_to)) { return new Auth_OpenID_FailureResponse($endpoint, "openid.return_to does not match return URL"); } } if ($mode == 'cancel') { return new Auth_OpenID_CancelResponse($endpoint); } else { if ($mode == 'error') { $error = $message->getArg(Auth_OpenID_OPENID_NS, 'error'); $contact = $message->getArg(Auth_OpenID_OPENID_NS, 'contact'); $reference = $message->getArg(Auth_OpenID_OPENID_NS, 'reference'); return new Auth_OpenID_FailureResponse($endpoint, $error, $contact, $reference); } else { if ($message->isOpenID2() && $mode == 'setup_needed') { return new Auth_OpenID_SetupNeededResponse($endpoint); } else { if ($mode == 'id_res') { if ($this->_checkSetupNeeded($message)) { return SetupNeededResponse($endpoint, $result->user_setup_url); } else { return $this->_doIdRes($message, $endpoint); } } else { return new Auth_OpenID_FailureResponse($endpoint, sprintf("Invalid openid.mode '%s'", $mode)); } } } } }