public function handle_authentication_callback() { $user = new User(); if ($user && !$user->isError() && $user->isLoggedIn()) { $this->handle_attach_callback(); } $token = \Request::getInstance()->get('oauth_token'); $verifier = \Request::getInstance()->get('oauth_verifier'); $token = $this->getService()->requestAccessToken($token, $verifier); $this->setToken($token); if ($token) { try { $user = $this->attemptAuthentication(); if ($user) { return $this->completeAuthentication($user)->send(); } else { $this->showError(t('No local user account associated with this user, please log in with a local account and connect your account from your user profile.')); } } catch (Exception $e) { $this->showError($e->getMessage()); } catch (\Exception $e) { $this->showError(t('An unexpected error occurred.')); } } else { $this->showError(t('Failed to complete authentication.')); } exit; }
private function validateUser() { // check to see if this is a valid user account $user = new User(); if (!$user->checkLogin()) { $isActive = $user->isActive(); $user->logout(); if ($user->isError()) { switch ($user->getError()) { case USER_SESSION_EXPIRED: return Redirect::to('/login', 'session_invalidated')->send(); } } elseif (!$isActive) { return Redirect::to('/login', 'account_deactivated')->send(); } else { $v = new View('/frontend/user_error'); $v->setViewTheme('concrete'); $contents = $v->render(); return $this->app->make(ResponseFactoryInterface::class)->forbidden($contents); } } }
public function isError() { return parent::isError(); }