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