身份aspnet核心微服务

时间:2017-06-22 16:15:48

标签: asp.net-core microservices identityserver4

我想使用微服务架构开发应用程序。我是微服务的新手,直到现在我只使用monolithich方法。

我想要做的是拥有一个负责用户身份验证的微服务,并使用Proxy APIS来授权请求​​。

在IdentityServer4文档中详细记录了在Proxy API中授权请求,但是,当代理api将请求传递给最终微服务时,如何授权此请求?

我知道如果我正确设置了终端微服务,代理api中使用的相同令牌可用于在最终微服务中授权请求。但是我该如何通过呢?我是否从Proxy API中的请求中获取令牌并将其传递给最终的微服务?这样做是一种好习惯吗?

或者它是阻止最终微服务仅接收来自我的代理api的请求并且没有授权逻辑的更好的选择吗?

PD:我想使用asp.net-core

1 个答案:

答案 0 :(得分:0)

  

我知道,如果我正确设置了最终微服务,则相同的令牌   代理api中使用的命令可用于最后授权请求   微服务。但是我如何通过呢?我是否可以从   代理API中的请求,然后将其传递给最终的微服务   像那样?这样做是一种好习惯吗?

是的,传递JWT(或任何其他传递)来传递代理->服务->代理->服务是很常见的。

并且每个层都可以使用诸如UniqueId之类的附加细节来扩充令牌(例如,当请求首次首次命中以跟踪交互链,断路器等时)

如果您的应用程序由多种语言(框架)组成,则此方法确实很有用,因为您无需以每种语言重新实现身份验证并让代理处理它,这对于容器体系结构特别有用,只需确保您尽可能减少代理服务器的重量,您可以根据Lyft的Envoy代理服务器研究想法。