public function postLogin() { if (\Input::get('fb_access_token')) { \Facebook::setDefaultAccessToken(\Input::get('fb_access_token')); try { $response = \Facebook::get('/me?fields=id'); $fbUserId = $response->getGraphUser()->getProperty('id'); $fbUser = FbUser::firstOrNew(['fb_user_id' => $fbUserId]); if ($fbUser->save()) { \Session::put('fb_user_id', $fbUserId); return \Response::json(['success' => true]); } } catch (\Facebook\Exceptions\FacebookSDKException $e) { return \Response::json(['success' => false, 'errors' => [$e->getMessage()]]); } } return \Response::json(['success' => false]); }
$accessToken = $_SESSION['facebook_access_token']; } else { $accessToken = $helper->getAccessToken(); } } catch (Facebook\Exceptions\FacebookResponseException $e) { // When Graph returns an error echo 'Graph returned an error: ' . $e->getMessage(); exit; } catch (Facebook\Exceptions\FacebookSDKException $e) { // When validation fails or other local issues echo 'Facebook SDK returned an error: ' . $e->getMessage(); exit; } if (isset($accessToken)) { if (isset($_SESSION['facebook_access_token'])) { $fb->setDefaultAccessToken($_SESSION['facebook_access_token']); } else { $_SESSION['facebook_access_token'] = (string) $accessToken; // OAuth 2.0 client handler $oAuth2Client = $fb->getOAuth2Client(); // Exchanges a short-lived access token for a long-lived one $longLivedAccessToken = $oAuth2Client->getLongLivedAccessToken($_SESSION['facebook_access_token']); $_SESSION['facebook_access_token'] = (string) $longLivedAccessToken; $fb->setDefaultAccessToken($_SESSION['facebook_access_token']); } // validating the access token try { $request = $fb->get('/me'); } catch (Facebook\Exceptions\FacebookResponseException $e) { // When Graph returns an error if ($e->getCode() == 190) {