我从微服务开始,尝试实现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": []
}
},
经过身份验证后,我的路由可以正常工作,而在除去身份验证要求后,路由又可以正常工作。但是,同时执行这两个操作会导致路由重复。
我在这里的目标是允许网关验证身份验证,并允许所有下游服务信任它们所提供的凭据。不知道我是否缺少配置设置,或者是我的方法不正确?
如果我能提供更多信息,请让我知道,并先感谢您的帮助!