Сценарий потока аутентификации mtls и jwt NGINX как шлюз API?

У меня есть сценарий, в котором аутентификация mTLS между B2B (клиентом) и шлюзом API NGINX требуется на одной стороне потока аутентификации для доступа к ресурсу из конечной точки API (за шлюзом API nginx), а между API nginx требуется авторизация JWT. шлюз, IdP (keycloak) и конечная точка API, на которой размещен ресурс URL.

Таким образом, похоже, что для новых клиентов, подключающихся к шлюзу API, будет осуществляться аутентификация mtls, а затем поток авторизации между шлюзом API и IdP и конечной точкой/микросервисом API будет происходить через поток JWT. Обобщить:

  1. Аутентификация MTLS происходит между клиентом B2B и шлюзом API.
  2. Если аутентификация mtls прошла успешно: шлюз API запрашивает токен JWT у IdP (?)
  3. IdP аутентифицирует запрос от шлюза API и
  4. Отвечает токеном JWT, содержащим правильные области авторизации.
  5. Шлюз API запрашивает ресурс у конечной точки/микросервиса API, используя токен JWT, чтобы предоставить данные авторизации.
  6. Ресурс возвращается и пересылается обратно клиенту...

Ближайшей моделью, которую я могу найти для этого сценария, является сценарий «Фантомный токен», описанный здесь:

https://curity.io/resources/learn/phantom-token-pattern/

(За исключением того, что в моем сценарии фантомный токен каким-то образом генерируется в ответ на успешную аутентификацию mtls клиентом)

Мои вопросы:

а) Имеет ли этот сценарий вообще смысл? Если да, то для каких случаев использования?

б) Если да, то как для этого будет выглядеть конфигурация NGINX Plus/NGINX?

Фон:

  • Я понимаю, что mtls будет использоваться для обработки потока аутентификации для полной аутентификации.
  • альтернативой было бы использовать аутентификацию JWT + авторизацию вместо mtls.

Меня смущает, почему/как можно использовать оба из них для authX API Gateway?

0 ответов

Другие вопросы по тегам