gpt4 book ai didi

c# - 如何授权来自另一个 WebApi 项目的请求

转载 作者:行者123 更新时间:2023-11-30 18:45:23 24 4
gpt4 key购买 nike

在不同的服务器上有 2 个 WebApi 项目。这些服务器之一 (WebApi-A) 具有 OAuth2 身份验证工作流设置,包括授权服务器和所有。

另一个 WebApi 项目 (WebApi-B) 有一个端点,我想通过 [Authorize] 属性进行身份验证。我不想拥有新的授权服务器,而是利用(WebApi-A 的)身份验证过程来验证 token 。

据我了解,这些服务器上的机器 key 是否相同。我们基本上可以在 WebApi-B 中复制 WebApi-A 的身份验证过程,而根本不必调用 WebApi-A

我如何实现这一目标?

最佳答案

理论上,您可以传递 JWT token ,如果您的 OAuth 设置使用相同的客户端密码和数据存储,它应该可以正常工作。您必须确保在请求时添加 JTW token 并使用一些分布式缓存进行验证。

我想问您是否应该创建一个网关来处理和验证请求并将它们委托(delegate)给单独的 API?感觉身份服务器 ( http://docs.identityserver.io/en/latest/topics/apis.html ) 可以解决您的问题。除了从 web api A 移动身份验证之外,您所做的任何事情都只是权宜之计。

复制设置可能有效,但这意味着您现在必须在两个地方维护它。所以我同意这样做不太理想。

这是一篇很棒的文章,可能对您有帮助:

https://www.scottbrady91.com/OAuth/Delegation-Patterns-for-OAuth-20

关于c# - 如何授权来自另一个 WebApi 项目的请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58247863/

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