Дополнительная аутентификация для маршрута шлюза Ocelet - PullRequest
0 голосов
/ 28 мая 2020

Я начинаю с микросервисов и пытаюсь реализовать Ocelot и думаю, что могу упустить что-то очевидное. Я пытаюсь создать маршрут, который опционально аутентифицирован. Например, если пользователь вызовет службу поиска, он может получить разные результаты в зависимости от того, вошел он в систему или нет.

{
  "Priority":  100,
  "DownstreamPathTemplate": "/api/{version}/{everything}",
  "DownstreamScheme": "http",
  "DownstreamHostAndPorts": [
    {
      "Host": "dist_api",
      "Port": 80
    }
  ],
  "UpstreamPathTemplate": "/api/{version}/dist_api/{everything}",
  "UpstreamHttpMethod": [
    "GET"
  ],
  "ReRouteIsCaseSensitive": false,
  "AuthenticationOptions": {
    "AuthenticationProviderKey": "AzureAdB2C"
    //"AllowedScopes": []
  }
},

Мои маршруты работают правильно при аутентификации, а затем снова при удалении требования аутентификации. Однако реализация обоих одновременно приводит к дублированию маршрута.

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

Если есть дополнительная информация, которую я могу предоставить, дайте мне знать и заранее благодарим за любую помощь!

...