Exemple #1
0
 /**
  * @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);
     }
 }
Exemple #2
0
 /**
  * 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));
                 }
             }
         }
     }
 }