Лучший способ обработки OAuth + JWT, излучаемого серверной частью?Javascript

Форум по Javascript
Anonymous
Лучший способ обработки OAuth + JWT, излучаемого серверной частью?

Сообщение Anonymous »

Я создаю приложение, которое объединяет сторонний единый вход (IVAO) для аутентификации пользователей. Мой стек — это интерфейс React и серверная часть NestJS. Это поток пользователя:
  • Пользователь входит в систему с помощью единого входа IVAO.
  • Сведения о пользователе хранятся в моей базе данных.
  • Бэкенд генерирует JWT для аутентификации на защищенных конечных точках.
Однако я не На 100% уверен, как подойти к потоку аутентификации с точки зрения кода. У меня есть несколько предложений:
Предложение 1
  • Frontend перенаправляет на IVAO SSO
  • IVAO SSO перенаправляет на конечную точку /callback в серверной части, которая хранит пользовательские данные + создает JWT
  • NestJS перенаправляет во внешний интерфейс с JWT, хранящимся в заголовке
  • Внешний интерфейс сохраняет JWT
Предложение 2
  • Внешний интерфейс перенаправляет в IVAO SSO
  • Перенаправления IVAO SSO к маршруту /callback во внешнем интерфейсе, который отправляет запрос POST к конечной точке API, включая JWT, предоставленный из IVAO.
  • Внутренняя часть хранит пользовательские данные + создает и возвращает JWT во внешний интерфейс.
  • Внешняя часть хранит JWT.
Предложение 3
  • Фронтенд вызывает защищенный маршрут в бэкэнде NestJS, что запускает единый вход IVAO.
  • IVAO SSO перенаправляет на конечную точку /callback в бэкэнде, где хранятся пользовательские данные + создает JWT.
  • NestJS перенаправляет во фронтенд с сохраненным JWT. в заголовке
  • Фронтенд хранит JWT
Я создаю новый JWT, потому что хочу добавить в него больше данных, которые не поступают из IVAO.
Какое из трех предложений лучше? Изменили бы вы что-нибудь из этого? Есть ли еще?

Подробнее здесь: https://stackoverflow.com/questions/798 ... by-backend

Вернуться в «Javascript»