Я начинаю с микросервисов и пытаюсь реализовать 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": []
}
},
Мои маршруты работают правильно при аутентификации, а затем снова при удалении требования аутентификации. Однако реализация обоих одновременно приводит к дублированию маршрута.
Моя цель здесь - позволить шлюзу проверять аутентификацию, а всем нижестоящим службам доверять предоставленным им учетным данным. Не уверен, что мне не хватает настроек конфигурации или мой подход неверен?
Если есть дополнительная информация, которую я могу предоставить, дайте мне знать и заранее благодарим за любую помощь!