Filament 4 php добавляем авторизацию через сервис yandex и google с помощью Laravel Socialite

PHP

Шаг 1. Регистрация приложения в Google и Yandex

Для подключения протокола авторизации Google OAuth необходимо использовать уникальный идентификатор приложения (Client ID) и секретный код (Client secret). Код и ID получают на сайте Google Developers Console в ходе создания нового проекта.

Filament 4 php добавляем авторизацию через сервис yandex и google с помощью Laravel Socialite

Для регистрации в Yandex переходим по другой ссылке https://oauth.yandex.ru/. Создаем приложение и указываем веб сервис

Filament 4 php добавляем авторизацию через сервис yandex и google с помощью Laravel Socialite

Шаг 2. Установка Socialite

Устанавливаем Laravel Socialite в наш проект через composer



SocialiteProviders — это расширение для Laravel Socialite, которое добавляет поддержку многих дополнительных OAuth-провайдеров, включая Yandex, ВК, Telegram и другие. Полный список провайдеров на их сайте.

Шаг 3. Настройка проекта

В файле config/services.php добавим настройки для Yandex:

Вставляем в .env файл переменные которые нам дал Яндекс:

Добавим маршруты для перенаправления на Yandex и обработки обратного вызова:

Добавим необходимые функции в контроллер:

app\Http\Controllers\Auth\GoogleController.php

app\Http\Controllers\Auth\YandexController.php

Шаг 4. Добавление кнопки входа в blade шаблон

Можно добавить кнопки входа в шалон аутентификации Filament

resources\views\filament\components\google-login-button.blade.php

И для регистрации такого веб хука нужно добавить в файл следующий код 

app\Filament\Pages\Auth\Login.php

И заменить в app\Providers\Filament\AdminPanelProvider.php значение login()

Filament 4 php добавляем авторизацию через сервис yandex и google с помощью Laravel Socialite

Ставив на кнопку «войти через яндекс» наш первый маршрут и готово. По такой же схеме делаете telegram, vk и другие сервисы указанные в socialiteproviders.

Шаг 5. Обновление базы данных

Выполните приведенную ниже команду для создания миграции, в ходе которой в таблицу будет добавлен столбец с идентификатором и кодом авторизации Google ID:

Файл миграции должен выглядеть следующим образом:

Внесите следующий код в файл User.php модели app/Models/User.php:

Добавить комментарий