Dan*_*iel 5 microservices asp.net-core identityserver4
我想使用微服务架构开发一个应用程序.我是微服务的新手,直到现在我只使用monolithich方法.
我想做的是拥有一个负责用户身份验证的微服务,并使用Proxy APIS来授权请求.
IdentityServer4文档中很好地记录了在Proxy API中授权请求,但是,当代理api将请求传递给最终微服务时,如何授权此请求?
我知道如果我正确设置了最终微服务,代理api中使用的相同令牌可用于在最终微服务中授权请求.但是我该如何通过呢?我是否从Proxy API中的请求中获取令牌并将其传递给最终的微服务?这样做是一个好习惯吗?
或者是阻止最终微服务仅接收来自我的代理api的请求并且没有授权逻辑的更好的选择?
PD:我想使用asp.net-core
我知道,如果我正确设置了终端微服务,则可以使用代理 api 中使用的相同令牌来授权终端微服务的请求。但我该如何通过呢?我是否可以从代理 API 中的请求中获取令牌并将其传递给最终微服务?这样做是一个好习惯吗?
是的,传递 JWT(或任何)来传递是很常见的,代理 --> 服务 --> 代理 --> 服务。
每个层都可以使用 UniqueId 等附加详细信息来增强令牌(例如,当请求第一次命中第一个请求时,以跟踪交互链、断路器等)
如果您的应用程序由多种语言(框架)组成,这种方法确实很有帮助,因为您不需要重新实现每种语言的身份验证并让代理处理它,这对于容器架构特别有用,只需确保将代理保留为重量尽可能轻,您可以研究基于 Lyft 的 Envoy 代理的想法。
| 归档时间: |
|
| 查看次数: |
483 次 |
| 最近记录: |