Маршрутизация трафика API Gateway (Azure, AWS) на основе утверждения эмитента JWT

#routes #aws-api-gateway #azure-api-management #api-gateway #network-traffic

#маршруты #aws-api-шлюз #azure-api-management #api-шлюз #сетевой трафик

Вопрос:

У меня есть вопрос о маршрутизации трафика внутри шлюза API с использованием политик.

Я хочу вызывать разные серверные серверы на основе утверждения (эмитента) в JWT пользователя (веб-токен JSON) с одной и той же конечной точки шлюза API.

В частности, могу ли я написать политику для маршрутизации на основе утверждений JWT точно так же, как я могу использовать HTTP-заголовки в политике, или мне придется вызывать функцию lambda или Azure, а затем вызывать серверные службы, проверяя токен в лямбде?

Мы пытаемся централизовать доступ к API-интерфейсам на наших нескольких экземплярах сервера, и наш пример использования приведен ниже. Не могли бы вы посоветовать :-

  • 1. пользователь получает токен доступа от служб аутентификации сервера
  • 2 — Пользователь вызывает API Gateway
  • 3 — Пользователь перенаправляется на сервер WebAPI на основе заявки эмитента его токена (ServerA)
  • 1.b. — Пользователь получает токен доступа от служб аутентификации ServerB
  • 2 — UserB вызывает шлюз API
  • 3 — Пользователь перенаправляется на веб-интерфейс ServerB на основе заявки эмитента его токена (ServerB)

введите описание изображения здесь

Пожалуйста, посоветуйтесь.

Комментарии:

1. На мой взгляд, у меня есть два API: companyA.net/getUserInfo , companyB.net/getUserInfo . Затем мне нужно создать приложение, которое будет играть роль шлюза на вашем изображении. Этому приложению необходимо проанализировать токен JWT и решить, какой API вызывать (например, получить ключевые слова «CompanyA» из токена). Я немного знаю об управлении api Azure, и я не нашел никакой конфигурации api gateway.

2. другими словами, мне нужно будет передать запрос через функцию lambda или Azure, верно?

3. Да, я думаю, что все в порядке, запросите через приложение, чтобы обработать его и перенаправить на правильный сервер. Приложение играет роль станции передачи.

4. ты нашел какой-нибудь способ?