public function loginAction() { $this->view->setTemplateAfter('login'); $this->view->pick('auth/register'); $session = $this->getDI()->get('session'); $accessToken = $session->get('access-token'); if (!$accessToken) { return $this->response->redirect($this->getDI()->getConfig()->oauth->authFailedRedirectUri); } $this->view->token = $accessToken; if (!$this->request->isPost()) { return; } $user = new Models\Login(); $identify = $this->request->getPost('identify'); if (false === strpos($identify, '@')) { $user->assign(array('username' => $identify, 'password' => $this->request->getPost('password'))); } else { $user->assign(array('email' => $identify, 'password' => $this->request->getPost('password'))); } $session = $this->getDI()->get('session'); try { $user->connectWithPassword($accessToken); $this->flashSession->success('SUCCESS_OAUTH_USER_CONNECTED'); $session->remove('access-token'); return $this->response->redirect($this->getDI()->getConfig()->oauth->loginSuccessRedirectUri); } catch (\Exception $e) { $this->showException($e, $user->getMessages()); return $this->response->redirect($this->getDI()->getConfig()->oauth->loginFailedRedirectUri); } }