Laravel Socialite сводит вход через OAuth 2 (GitHub, Google, Facebook и др.) к нескольким методам. Пользователь не придумывает пароль, а вы получаете профиль, подтверждённый провайдером.
Как это работает
Поток из шести шагов: пользователь нажимает кнопку, приложение перенаправляет на провайдера, пользователь соглашается, провайдер возвращает его на callback с code, приложение меняет code на токен и получает профиль.
Установка и настройка
composer require laravel/socialiteСоздайте OAuth-приложение в панели провайдера (GitHub: Settings → Developer settings → OAuth Apps; Google: Cloud Console → Credentials), укажите callback-адрес и положите ключи в .env:
GITHUB_CLIENT_ID=your-github-client-id
GITHUB_CLIENT_SECRET=your-github-client-secret
GOOGLE_CLIENT_ID=your-google-client-id
GOOGLE_CLIENT_SECRET=your-google-client-secret// config/services.php
'github' => [
'client_id' => env('GITHUB_CLIENT_ID'),
'client_secret' => env('GITHUB_CLIENT_SECRET'),
'redirect' => '/auth/github/callback',
],
'google' => [
'client_id' => env('GOOGLE_CLIENT_ID'),
'client_secret' => env('GOOGLE_CLIENT_SECRET'),
'redirect' => '/auth/google/callback',
],⚠️ Callback-адрес должен символ в символ совпадать с указанным у провайдера (http/https, порт, путь).
Маршруты и redirect
// routes/web.php
use App\Http\Controllers\SocialAuthController;