ASP.NET Core是否具有内置的OAuth2令牌交换功能?

4
我正在构建一个ASP.NET Core应用程序,并使用FusionAuth作为我的身份验证服务器。我正在尝试使用JWT承载令牌实现授权授予工作流程,并使用SPA。总之,一旦用户使用FusionAuth进行身份验证,前端就应该将其重定向到具有授权代码的后端服务器。然后,我的后端服务器需要在特殊的端点接收此代码。在此端点内,它将再次调用FusionAuth,但这次使用仅服务器拥有的客户端密钥。反过来,FusionAuth将以JWT和刷新令牌的形式发送授权令牌,然后我的服务器需要将其返回给前端。
我看了一下.AddOAuth方法,阅读了代码后发现它似乎能够执行令牌交换。然而,它还包含很多涉及挑战和登录/注销的逻辑。这让我认为它应该用于基于cookie的服务器端身份验证,就像您在Razor页面中找到的那样。
我想做的只是设置我的服务器作为身份验证中介。看起来.AddOAuth()可能会为我完成这个任务,但它可能不是为此目的而设计的。我找不到任何同时使用.AddJwt(...).AddOAuth(...)的示例。在ASP.NET Core中是否有执行令牌交换的机制?
2个回答

1

-3
短答案是肯定的 - 请参阅Asp.NET CORE身份介绍。OAuth 2有许多不同的变体,这意味着它可以以许多方式进行配置。您需要阅读文档。

你似乎没有理解 OP 的问题(他们不仅想将 OAuth 添加为他们的 SPA 的身份验证方法),而“这里是通用文档,请去阅读它们,以便找到你需要的内容”从来都不是一个好的答案。 - CodeCaster
然而,有时“阅读文档”是回答一般问题的唯一方法。Asp.NET Core对OAuth有着丰富的支持,远不止将其用作SPA的身份验证方法。要理解如何应用该技术,必须确切地知道正在尝试什么。对于初学者来说,甚至在没有进行一些自己的研究之前,很难以一种允许其他人帮助的方式表达问题。 - GlennSills
3
如果你认为“去阅读文档”是一个回答问题的解答,那么你的回答可能更适合作为一条评论。 - CodeCaster

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接