/** * * @param Request $request * @param Response $response * @param array $args */ public function callback(Request $request, Response $response, $args) { // cleanup the session $this->session->clear(); if ($this->facebook->getAccessToken()) { return $response->withRedirect($this->router->pathFor('home')); } return $response->withRedirect($this->router->pathFor('login')); }
/** * * @return Ambigous <\App\Helper\mixed, unknown, mixed> */ public function getAccessToken() { if ($this->session->get('facebook_access_token')) { return $this->session->get('facebook_access_token'); } $helper = $this->facebook->getJavaScriptHelper(); try { $accessToken = $helper->getAccessToken(); } catch (FacebookResponseException $e) { $this->logger->error('error: ' . $e->getMessage()); } catch (FacebookSDKException $e) { $this->logger->error('Facebook SDK returned an error: ' . $e->getMessage()); } if (!isset($accessToken)) { $this->logger->error('No cookie set or no OAuth data could be obtained from cookie.'); } else { $this->logger->debug('Store new access token : ' . $accessToken); $this->session->set('facebook_access_token', (string) $accessToken); } return $this->session->get('facebook_access_token'); }
/** * * @param Request $request * @param Response $response * @param unknown $args */ public function logout(Request $request, Response $response, $args) { $this->session->delete('authenticated'); return $response->withRedirect($this->router->pathFor('results')); }
private function isLoggedIn(Session $session) { return $session->get('authenticated'); }