ivanvorobei
@ivanvorobei
iOS разработчик, канал https://t.me/sparrowcode

API Авторизация из одной точки при помощи Lumen или Laravel?

Пишу API для проекта, хочу реализовать one-point авторизацию. Что-то вроде единый аккаунт для всех проектов, т.е. зарегистрировавшись однажды для всех будущих проектов аккаунт подойдет. Очень похоже на регистрацию на хабре с их TM.

Техническую сторону представляю так: Сначала окно с авторизацией, если логин-пароль и верификационный код (для подтверждения что это не левый клиент) подходит - выдается токен, приложение его сохраняет.
К примеру запрос на авторизацию пользователя:
api.company.com/aouth/...

Далее все запросы к проекту идут вместе с выданным токеном.
Запрос к проекту размещен в другом месте:
api.project.com/users/23...
Проверка токена проходит уже на сервере, делается запрос на api для личного кабинета.

Как вывод: мне нужно два отдельных проекта Laravel или Lumen, один API отвечает за доступ приложения к API и авторизации пользователя. Выдает токен если все успешно.
Второй API сохраняет токен и обращается к API проекта, который и проверяет токен у первого API.

Может быть есть другие решения? Спасибо!
  • Вопрос задан
  • 1643 просмотра
Решения вопроса 1
Denormalization
@Denormalization
По сути тут мало что можно придумать:
- Делаем центральный репозиторий с ключами.
- Делаем сервис который будет авторизовывать, выдавать ключи и складывать их в репозиторий.
- На остальных сервисах просто обращаемся к репозиторию, и проверяем есть ли и валидный ли ключ.

Плюс в том, что репозиторий и сервис авторизации можно расположить где угодно и писать на любом языке, так как общение с ними идет по API.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Alex_Wells
@Alex_Wells
PHP/Kotlin
Используй JWT, не нужно придумывать велосипед. Либо OAuth2 обычный, инструкций - туева куча.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы