Мы разработали рабочий процесс, позволяющий сторонним системам (1) использовать нашу (2) без необходимости дополнительной аутентификации, как показано здесь:
Вот описание:
Стороннее клиентское приложение (веб) хочет запустить наше приложение. Он запрашивает токен на собственном сервере.
Сторонний бэкэнд генерирует JWT со случайным значением токена, связанным с текущим пользователем.
Сторонний бэкэнд отправляет JWT в нашу систему через специальный API.
После регистрации JWT отправляется обратно в стороннее клиентское приложение (веб).
Стороннее приложение запускает наше клиентское приложение (веб), передавая JWT
Наше приложение вызывает наш backend API, используя зарегистрированный JWT
Вопросы следующие:
- Если этот рабочий процесс действительный / обычный
- Каковы правильные утверждения для использования в JWT для user_email, organization_id, token
user_email
как часть JWT, я предпочитаю использовать UUID, которые представляют пользователя. Также я бы посоветовал вам использовать разные ключи для каждой третьей стороны. Таким образом, токены, сгенерированные вами и третьей стороной, должны иметь разные хэши, а также у вас должно быть поле, в котором указывается, какой клиент сгенерировал JWT, чтобы различать. Отдыхайте, ваша архитектура хорошо выглядит как таковая - person Tarun Lalwani   schedule 17.01.2020