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]);
 }
Beispiel #2
0
        $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) {