gpt4 book ai didi

asp.net-core - 身份 aspnet 核心微服务

转载 作者:行者123 更新时间:2023-12-03 17:37:42 25 4
gpt4 key购买 nike

我想使用微服务架构开发一个应用程序。我对微服务真的很陌生,直到现在我只使用单体方法。

我想要做的是拥有一个微服务来处理用户身份验证并拥有代理 APIS 来授权请求​​。

在 IdentityServer4 文档中对代理 API 中的请求授权进行了很好的记录,但是,当代理 API 将请求传递给最终微服务时,我该如何授权此请求?

我知道如果我正确设置了末端微服务,则可以使用代理 api 中使用的相同 token 来授权末端微服务的请求。但是我怎么通过呢?我是否从代理 API 中的请求中获取 token 并将其传递给最终的微服务?这样做是一个好习惯吗?

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

PD:我想使用asp.net-core

最佳答案

I know that if I setup the end microservice correctly, the same token used in the proxy api can be used to authorize the request at the end microservice. But how do I pass it? Do I grab the token from the request in the Proxy API and pass it down to the end microservice just like that? is it a good practice to do this?



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

并且每一层都可以用额外的细节来增加 token ,​​比如 UniqueId(例如,当请求第一次命中第一个以跟踪交互链、断路器等时)

如果您的应用程序由多种语言(框架)组成,这种方法真的很有帮助,因为您不需要在每种语言中重新实现身份验证并让代理处理它,这对于容器架构尤其有用,只需确保将代理保留为尽可能轻量级,您可以研究基于 Lyft 的 Envoy 代理的想法。

关于asp.net-core - 身份 aspnet 核心微服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44704629/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com