Процесс авторизации Lumen Socialite

Информация

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

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

Эта проблема

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

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

Параметры

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

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

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Laravel Scout - это популярный пакет, который предоставляет простой и удобный способ добавить полнотекстовый поиск в ваше приложение Laravel. Он...
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
0
0
450
1

Ответы 1

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

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

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

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

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

Другие вопросы по теме