Можно ли одновременно использовать обнаружение и авторизацию службы ocelot и cons с динамическими ReRoutes? - PullRequest
0 голосов
/ 08 мая 2019

Текущее состояние

Я разрабатываю шлюз Api с использованием слепка Ocelot, а для обнаружения услуг я использую слепок Consul.

Мне нужна описанная динамическая маршрутизация здесь .

Где возникла проблема

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

Вопрос

Для динамических ReRoutes, использующих обнаружение службы Consul, у меня должен быть пустой ReRoutes

{
    "ReRoutes": []
}

Для аутентификации мне нужно добавить добавить следующую часть в мою коллекцию ReRoutes

        "AuthenticationOptions": {
            "AuthenticationProviderKey": "TestKey",
            "AllowedScopes": []
        }

Таким образом, ReRoutes должен измениться на:

"ReRoutes": [{
        "DownstreamHostAndPorts": [
            {
                "Host": "localhost",
                "Port": 51876,
            }
        ],
        "DownstreamPathTemplate": "/",
        "UpstreamPathTemplate": "/",
        "UpstreamHttpMethod": ["Post"],
        "ReRouteIsCaseSensitive": false,
        "DownstreamScheme": "http",
        "AuthenticationOptions": {
            "AuthenticationProviderKey": "TestKey",
            "AllowedScopes": []
        }
    }]

и теперь я теряю динамическую маршрутизацию, которую я использовал вначале.

Есть ли способ обойти это?

...