public static function processCookies() { if (isset($_COOKIE['feAutologin']) && !Kwf_Auth::getInstance()->getStorage()->read()) { Kwf_Util_Https::ensureHttps(); $feAutologin = explode('.', $_COOKIE['feAutologin']); if (count($feAutologin) == 2) { $adapter = new Kwf_Auth_Adapter_PasswordAuth(); $adapter->setIdentity($feAutologin[0]); $adapter->setCredential($feAutologin[1]); $adapter->setUseCookieToken(true); $auth = Kwf_Auth::getInstance(); $auth->clearIdentity(); $result = $auth->authenticate($adapter); if (!$result->isValid()) { self::clearCookies(); } } } else { if (isset($_COOKIE['hasFeAutologin']) && !Kwf_Auth::getInstance()->getStorage()->read()) { //feAutologin cookie is set with https-only (for security reasons) //hasFeAutologin is seth without https-only Kwf_Util_Https::ensureHttps(); } } }
private function _getAuthenticateResult($identity, $credential) { $adapter = new Kwf_Auth_Adapter_PasswordAuth(); $adapter->setIdentity($identity); $adapter->setCredential($credential); $auth = Kwf_Auth::getInstance(); $auth->clearIdentity(); return $auth->authenticate($adapter); }
public static function processCookies() { if (isset($_COOKIE['feAutologin']) && !Kwf_Auth::getInstance()->getStorage()->read()) { $feAutologin = explode('.', $_COOKIE['feAutologin']); if (count($feAutologin) == 2) { $adapter = new Kwf_Auth_Adapter_PasswordAuth(); $adapter->setIdentity($feAutologin[0]); $adapter->setCredential($feAutologin[1]); $adapter->setUseCookieToken(true); $auth = Kwf_Auth::getInstance(); $auth->clearIdentity(); $result = $auth->authenticate($adapter); if (!$result->isValid()) { self::clearCookies(); } } } }
protected function _afterSave($row) { $row = $this->_getParam('row'); $adapter = new Kwf_Auth_Adapter_PasswordAuth(); $auth = Kwf_Auth::getInstance(); $adapter->setIdentity($row->email); $adapter->setCredential($row->password); $result = $auth->authenticate($adapter); if ($result->isValid()) { $redirectUrl = '/' . ltrim($this->getRequest()->getPathInfo(), '/'); if ($this->_getParam('redirect') && substr($this->_getParam('redirect'), 0, 1) == '/') { $redirectUrl = $this->_getParam('redirect'); } $this->redirect($redirectUrl); } else { $errors = $this->getRequest()->getParam('formErrors'); foreach ($result->getMessages() as $msg) { $errors[] = array('message' => $msg); } $this->getRequest()->setParam('formErrors', $errors); $this->_showForm(); } }