Laravel

Login con el SDK de Facebook

24 octubre, 2018
4,315 lecturas
Cómo programar un login con el SDK de Facebook en 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');
});

 

Tutoriales Recomendados

Sigue explorando publicaciones de la misma categoría

Ver todos