ccc

Laravel: Socialite (Identificarse en Redes sociales)

En la consola del terminal:
composer require laravel/socialite

Crear un controlador para las redes sociales:
php artisan make:controller SocialAuthController

En config/services.php:
'facebook' => [
        'client_id' => 'xxx',
        'client_secret' => 'xxx',
        'redirect' => 'http://localhost/LARAVEL/laravel_edc/public/back_facebook',
    ],

'twitter' => [
        'client_id' => 'xxx',
        'client_secret' => 'xxx',
        'redirect' => 'http://localhost/LARAVEL/laravel_edc/public/back_twitter',
    ],

'linkedin' => [
        'client_id' => 'xxx',
        'client_secret' => 'xxx',
        'redirect' => 'http://localhost/LARAVEL/laravel_edc/public/back_linkedin',
    ],


En config/app.php:
En providers:
Laravel\Socialite\SocialiteServiceProvider::class,
En aliases:
'Socialite' => Laravel\Socialite\Facades\Socialite::class,

Crear tu App en los developers de Facebook, Twitter y Linkedin (no olvidar la ruta del callback)

En routes/web.php:
Route::get('/login_facebook', 'SocialAuthController@loginFacebook');
Route::get('/back_facebook', 'SocialAuthController@callbackFacebook');

Route::get('/login_twitter', 'SocialAuthController@loginTwitter');
Route::get('/back_twitter', 'SocialAuthController@callbackTwitter');

Route::get('/login_linkedin', 'SocialAuthController@loginLinkedin');
Route::get('/back_linkedin', 'SocialAuthController@callbackLinkedin');

En SocialAuthController.php:
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Laravel\Socialite\Facades\Socialite;

class SocialAuthController extends Controller
{
    public function loginFacebook() {
        return Socialite::driver('facebook')->redirect();
    }

    public function callbackFacebook() {
        $user = Socialite::driver('facebook')->user();
        print_r($user);exit;
    }

    public function loginTwitter() {
        return Socialite::driver('twitter')->redirect();
    }

    public function callbackTwitter() {
        $user = Socialite::driver('twitter')->user();
        print_r($user);exit;
    }

    public function loginLinkedin() {
        return Socialite::driver('linkedin')->redirect();
    }

    public function callbackLinkedin() {
        $user = Socialite::driver('linkedin')->user();
        print_r($user);exit;
    }
}

No hay comentarios:

Publicar un comentario