Вступление
В интернете есть множество статей и руководств по интеграции OAuth авторизации через популярных провайдеров, таких как Google, Facebook и Twitter, в проекты на Laravel. Но как это сделать через Yandex, ВК и т.п. информации в рунете вообще нет.
Буду показывать на примере Яндекса. Через другие провайдеры делайте аналогично.
Шаг 1. Создание приложения
Для начала регистрируем наше приложение в Yandex OAuth


После регистрации приложения переходим на страницу нашего приложения и сохраняем эти 3 поля, они нам понадобятся чуть позже.

Шаг 2. Установка Socialite
Устанавливаем Laravel Socialite в наш проект через composer
composer require laravel/socialiteУстанавливаем  SocialiteProviders   
SocialiteProviders - это расширение для Laravel Socialite, которое добавляет поддержку многих дополнительных OAuth-провайдеров, включая Yandex, ВК, Telegram и другие. Полный список провайдеров на их сайте.
composer require socialiteproviders/yandexШаг 3. Настройка проекта
В файле config/services.php добавим настройки для Yandex:  
'yandex' => [
    'client_id' => env('YANDEX_CLIENT_ID'),
    'client_secret' => env('YANDEX_CLIENT_SECRET'),
    'redirect' => env('YANDEX_REDIRECT_URI'), ], Вставляем в .env файл переменные которые нам дал Яндекс:  
YANDEX_CLIENT_ID=*ClientID*
YANDEX_CLIENT_SECRET=*Client secret*
YANDEX_REDIRECT_URI=*Redirect URI для веб-сервисов*Добавим маршруты для перенаправления на Yandex и обработки обратного вызова:
Route::get('login/yandex', [AuthenticatedSessionController::class, 'yandex'])->name('yandex');
Route::get('login/yandex/redirect', [AuthenticatedSessionController::class, 'yandexRedirect'])->name('yandexRedirect');Добавим необходимые функции в контроллер:
    use Laravel\Socialite\Facades\Socialite;
    use Str;   
   public function yandex() // перенаправляем юзера на яндекс Auth
    {
        return Socialite::driver('yandex')->redirect();
    }
    public function yandexRedirect() // принимаем возвращаемые данные и работаем с ними
    {
        $user = Socialite::driver('yandex')->user();
        $user = User::firstOrCreate([ // используем firstOrCreate для проверки есть ли такие пользователи в нашей БД
            'email' => $user->email
        ], [
            'name' => $user->user['display_name'], // display_name - переменаая хранящая полное ФИО пользователя
                                                  // остальные переменные можете посмотреть использовав $dd('$user')
            'password' => Hash::make(Str::random(24)),
        ]);
        Auth::login($user, true);
        redirect()->route('main');
    }Ставив на кнопку "войти через яндекс" наш первый маршрут и готово. По такой же схеме делаете telegram, vk и другие сервисы указанные в socialiteproviders.
 
          