Login PHP SDK FACEBOOK con una app Laravel

En esta ocación implementaremos un Login con el SDK de facebook en PHP  adecuandonos al anterior Post, la forma de acceder a la ruta del login es http://dominio.com/facebook/login. para ello abrimos el archivo routes/web.php y creamos la siguiente ruta para el login


Route::get('/facebook/login', function(SammyK\LaravelFacebookSdk\LaravelFacebookSdk $fb)
{    
    $login_url = $fb->getLoginUrl(['email']);    
    echo 'LOGIN   ';
});
Route::get('/facebook/callback', function(SammyK\LaravelFacebookSdk\LaravelFacebookSdk $fb)
{
    try {
        $token = $fb->getAccessTokenFromRedirect();

    } catch (Facebook\Exceptions\FacebookSDKException $e) {
        dd($e->getMessage());
    }   
    if (! $token) {       
        $helper = $fb->getRedirectLoginHelper();
        if (! $helper->getError()) {
            abort(403, 'Unauthorized action.');
        }     
        dd(
            $helper->getError(),
            $helper->getErrorCode(),
            $helper->getErrorReason(),
            $helper->getErrorDescription()
        );
    }

    if (! $token->isLongLived()) {        
        $oauth_client = $fb->getOAuth2Client();        
        try {
            $token = $oauth_client->getLongLivedAccessToken($token);
        } catch (Facebook\Exceptions\FacebookSDKException $e) {
            dd($e->getMessage());
        }
    }
    $fb->setDefaultAccessToken($token);
    Session::put('fb_user_access_token', (string) $token);
    try {        
        $response = $fb->get('/me?fields=id,name,email');     
    } catch (Facebook\Exceptions\FacebookSDKException $e) {
        dd($e->getMessage());
    }   
    $facebook_user = $response->getGraphUser();   
    return redirect('/')->with('message', 'Bienvenido');
});

 

Publicado el 2018-01-21 11:32:59 visitas 81


Laravel PHP SDK Facebook