Здравствуйте.
Есть проект на Laravel, будет разработан еще один. Что общего между ними, так это пользователи (корпоративные), регистрации нет.
Необходима единая точка входа, через которую пользователи будут авторизоваться и получать доступ к другим приложениям. Так же нужно выдавать права доступа (роли) пользователям из одного места, а не в каждом проекте по отдельности.
Реализация:
- Развернуть еще один Laravel проект, установив Laravel Passport, делать на него редирект, авторизоваться, получать токен. В этом же проекте реализовать админ панель для выдачи ролей
Вопросы:- Как настроить другие проекты на такой способ авторизации?
Установить на них Laravel Socialite и написать свой провайдер ? По типу авторизации через github, google ?
- Что делать после получения токена?
В примерах по реализации Socialite, после получения токена создается пользователь (если его нет) и логиниться.
Но тогда в каждом проекте своя таблица с пользователями, хотя по факту они одни и те же. Верно ли это в моем случае? И как же им потом выдавать роли?
В существующем уже проекте для ролей используется пакет laravel-permission, как же быть сейчас? Использовать Token Scopes?
И главный вопрос, в правильном ли направлении я размышляю ?