У меня есть Rails API и клиент, написанный на React, который встроен в веб-сайт A. Я хочу использовать единый вход, чтобы пользователи, входящие на веб-сайт A и входящие в мое приложение React, автоматически входили в API ,
Я использую Devise для управления пользователями и Doorkeeper для обработки OAuth2.
Вот такой сценарий разыскивается:
Пользователь входит в систему на веб-сайте A, который является поставщиком
Пользователь переходит в приложение React (встроено в веб-сайт A), некоторая информация пользователя передается веб-сайтом A в приложение React
Если пользователь неизвестен Rails API, убедитесь, что провайдер является веб-сайтом A, и сохраните пользователя через Devise
Получить токен доступа для этого пользователя и информацию о пользователе из API и отправить обратно в React App
Я не могу добавить маршруты на сайт A, поэтому невозможно установить обычный поток OAuth2.
Моя идея состояла в том, чтобы передать подпись, идентифицирующую пользователя с веб-сайта A, в приложение React и отправить ее в API для аутентификации пользователя.
Я попытался использовать камень doorkeeper-grants_assertion , но не могу обернуться вокруг этой проблемы.
Какой поток грантов я должен использовать для пользователя в этом случае? Как интегрировать эту стратегию в omniauth?
Любая помощь будет высоко ценится.