Lumen Socialite поток авторизации - PullRequest
       24

Lumen Socialite поток авторизации

0 голосов
/ 07 сентября 2018

информация

Я ищу разъяснения по использованию пакета Socialite в проекте Lumen. Я хочу использовать OAuth2, чтобы пользователи могли проходить аутентификацию в своих приложениях с помощью Google, Facebook или других социальных сетей.

Насколько я понимаю, Socialite перенаправляет на страницу выбранного провайдера, запрашивает у пользователя разрешение и возвращает приложение с аутентифицированным пользовательским объектом. Я сделал базовую настройку с помощью приложения Laravel, и все это прекрасно работает.

Проблема

У меня есть API аутентификации (на основе Lumen), где проверяются учетные данные пользователя. Это только бэкэнд-сервис. Фактические учетные данные пользователя получены из разных внешних интерфейсов (приложений). Нужно ли внешним интерфейсам внедрять OAuth2 / Socialite и отправлять данные социальных пользователей в мой API авторизации или API может организовать весь процесс OAuth2?

Я не совсем понимаю, как перенаправление должно происходить, если весь поток организован API? В socialite доступна опция без сохранения состояния (), и я нашел некоторую информацию о том, где socialite используется в Lumen, но затем я не получаю весь поток перенаправления / аутентификации.

Опция

Различные варианты

Хотелось бы услышать от пользователей, если эта опция возможна, надеюсь, мой вопрос понятен. :)

1 Ответ

0 голосов
/ 21 сентября 2018

Просто обновить на свой вопрос;

После некоторых исследований я обнаружил, что поток такой:

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

-> Жетон доступа получен внешним интерфейсом и отправлен в наш бэкэнд-сервис Lumen. Здесь мы снова можем использовать Socialite, чтобы получить данные пользователя для этого токена доступа. Данные пользователя затем могут быть использованы для создания нового пользователя или присоединения социальной учетной записи к существующему пользователю. Когда токен доступа действителен и пользователь создан или найден в существующем пользователе, пользователь может продолжить работу в приложении.

Надеюсь помочь кому-нибудь в будущем с теми же вопросами:)

...