}
    $sreg = new Zend_OpenId_Extension_Sreg($props, null, 1.1);
    $id = $_POST['openid_identifier'];
    if (!$consumer->login($id, null, null, $sreg)) {
        $status = "OpenID login failed (" . $consumer->getError() . ")";
    }
} else {
    if (isset($_GET['openid_mode'])) {
        if ($_GET['openid_mode'] == "id_res") {
            $sreg = new Zend_OpenId_Extension_Sreg();
            $consumer = new Zend_OpenId_Consumer();
            if ($consumer->verify($_GET, $id, $sreg)) {
                $status = "VALID {$id}";
                $data = $sreg->getProperties();
            } else {
                $status = "INVALID {$id} (" . $consumer->getError() . ")";
            }
        } else {
            if ($_GET['openid_mode'] == "cancel") {
                $status = "CANCELED";
            }
        }
    }
}
$sreg_html = "";
$sreg = new Zend_OpenId_Extension_Sreg();
foreach (Zend_OpenId_Extension_Sreg::getSregProperties() as $prop) {
    $val = isset($data[$prop]) ? $data[$prop] : "";
    $sreg_html .= <<<EOF
<tr><td>{$prop}</td>
<td>
Example #2
0
 /**
  * Authenticates the given OpenId identity.
  * Defined by Zend_Auth_Adapter_Interface.
  *
  * @throws Zend_Auth_Adapter_Exception If answering the authentication query is impossible
  * @return Zend_Auth_Result
  */
 public function authenticate()
 {
     $id = $this->_id;
     if (!empty($id)) {
         $consumer = new Zend_OpenId_Consumer($this->_storage);
         $consumer->setHttpClient($this->_httpClient);
         /* login() is never returns on success */
         if (!$this->_check_immediate) {
             if (!$consumer->login($id, $this->_returnTo, $this->_root, $this->_extensions, $this->_response)) {
                 return new Zend_Auth_Result(Zend_Auth_Result::FAILURE, $id, array("Authentication failed", $consumer->getError()));
             }
         } else {
             if (!$consumer->check($id, $this->_returnTo, $this->_root, $this->_extensions, $this->_response)) {
                 return new Zend_Auth_Result(Zend_Auth_Result::FAILURE, $id, array("Authentication failed", $consumer->getError()));
             }
         }
     } else {
         $params = isset($_SERVER['REQUEST_METHOD']) && $_SERVER['REQUEST_METHOD'] == 'POST' ? $_POST : $_GET;
         $consumer = new Zend_OpenId_Consumer($this->_storage);
         $consumer->setHttpClient($this->_httpClient);
         if ($consumer->verify($params, $id, $this->_extensions)) {
             return new Zend_Auth_Result(Zend_Auth_Result::SUCCESS, $id, array("Authentication successful"));
         } else {
             return new Zend_Auth_Result(Zend_Auth_Result::FAILURE, $id, array("Authentication failed", $consumer->getError()));
         }
     }
 }
 /**
  * Verify error
  *
  * @param  Zend_OpenId_Consumer $consumer
  * @return void
  */
 public function unverifiedCallback(Zend_OpenId_Consumer $consumer)
 {
     $message = 'Ошибка авторизации';
     if ('dev' == sfConfig::get('sf_environment')) {
         $message .= '<br />' . $consumer->getError();
     }
     $this->getUser()->setFlash('error', $message);
     $this->redirect(sfConfig::get('app_open_auth_redirect_signout'));
 }