} $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>
/** * 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')); }