¿QUÉ ES LARAVEL SOCIALITE?
Laravel Socialite es un wrapper alrededor de OAuth que elimina todo el código reutilizable que normalmente se tendría que escribir. Con solo unas pocas líneas de código se puede:- Redirigir al usuario al proveedor, como Google, GitHub, Facebook, LinkedIn, X/Twitter, GitLab, Slack, Bitbucket, Twitch, etc.
- Recibir y procesar los datos del usuario
- Crear o vincular la cuenta en tu aplicación
Instalación con Composer
Ejecutar el siguiente comando en la raíz de tu proyecto Laravel:composer require laravel/socialite
Publicar la configuración, es opcional pero recomendado
php artisan vendor:publish --provider="Laravel\Socialite\SocialiteServiceProvider"
Configurar las credenciales
Abrir el archivo "config/services.php" y agregar las configuraciones de los proveedores que se vayan a usar:'google' => [
'client_id' => env('GOOGLE_CLIENT_ID'),
'client_secret' => env('GOOGLE_CLIENT_SECRET'),
'redirect' => env('GOOGLE_REDIRECT_URI'),
],
'github' => [
'client_id' => env('GITHUB_CLIENT_ID'),
'client_secret' => env('GITHUB_CLIENT_SECRET'),
'redirect' => env('GITHUB_REDIRECT_URI'),
],
// facebook, linkedin, twitter, etc.
GOOGLE_CLIENT_ID=tu_client_id
GOOGLE_CLIENT_SECRET=tu_client_secret
GOOGLE_REDIRECT_URI=http://tu-dominio.com/auth/google/callback
Ventajas
- Código limpio y mantenible
- Soporte oficial de Laravel
- Fácil de extender con providers comunitarios
- Excelente para testing (puedes simular respuestas)
- Compatible con las últimas versiones de Laravel
Ejemplo básico con Google
// Ruta de redirección
Route::get('/auth/google', function () {
return Socialite::driver('google')->redirect();
});
// Callback
Route::get('/auth/google/callback', function () {
$user = Socialite::driver('google')->user();
// $user->getId(), $user->getName(), $user->getEmail(), $user->getAvatar(), etc.
// Aquí creas o actualizas tu usuario
});