Информация
Я ищу некоторые разъяснения по использованию пакета Socialite в проекте Lumen. Я хочу использовать OAuth2, чтобы пользователи могли аутентифицироваться с помощью своей учетной записи Google, Facebook или другой социальной сети в наших приложениях.
Насколько я понимаю, Socialite перенаправляет на страницу выбранного провайдера, запрашивает у пользователя разрешение и возвращается в приложение с аутентифицированным объектом пользователя. Я сделал базовую настройку с помощью приложения Laravel, и все работает нормально.
Эта проблема
У меня есть API аутентификации (на основе Lumen), где проверяются учетные данные пользователя. Это только серверная служба. Фактические учетные данные пользователя получаются из разных интерфейсов (приложений). Нужно ли во внешних интерфейсах реализовывать OAuth2 / Socialite и отправлять данные социального пользователя в мой API авторизации, или API может организовать весь процесс OAuth2?
Я не совсем понимаю, как должно происходить перенаправление, если весь поток организован API? В Socialite есть опция без сохранения состояния (), и я нашел некоторую информацию, где в Lumen используется Socialite, но тогда я не получаю всего потока перенаправления / аутентификации.
Параметры
Хотелось бы услышать от пользователей, возможен ли этот вариант, надеюсь, мой вопрос ясен. :)






Просто чтобы обновить свой вопрос;
После некоторых исследований я обнаружил, что поток выглядит следующим образом:
-> Frontend обрабатывает запрос пользователя на авторизацию Oauth2 с конкретным провайдером. (мы перенаправляемся на страницу провайдера с вопросом о разрешении для этого приложения). Это можно сделать с помощью Socialite (в случае Laravel) или любого другого пакета для конкретной работы с фреймворком.
-> Маркер доступа получен внешним интерфейсом и отправлен в нашу внутреннюю службу Lumen. Здесь мы снова можем использовать Socialite, чтобы получить данные пользователя для этого токена доступа. Затем данные пользователя можно использовать для создания нового пользователя или привязки учетной записи для входа в социальную сеть к существующему пользователю. Когда токен доступа действителен и пользователь создан или найден в существующем пользователе, пользователь может продолжить работу в приложении.
Надеюсь помочь кому-то в будущем с такими же вопросами :)