【发布时间】:2021-03-10 07:24:17
【问题描述】:
我正在构建一个 ASP.NET Core 应用程序并使用 FusionAuth 作为我的身份验证服务器。我正在尝试通过使用 JWT 不记名令牌的 SPA 来实现这个authorization grant workflow。总而言之,一旦用户使用 FusionAuth 进行身份验证,前端应该使用授权码重定向到后端服务器。然后我的后端服务器需要在一个特殊的端点接收这个代码。在此端点内,它将再次调用 FusionAuth,但这次使用只有服务器拥有的客户端密码。反过来,FusionAuth 将以 JWT 和刷新令牌的形式发回授权令牌,然后我的服务器需要将其返回给前端。
我查看了.AddOAuth 方法,并阅读了似乎能够执行令牌交换的代码。但是,它也有很多涉及挑战和登录/注销的逻辑。这让我觉得它应该用于基于 cookie 的服务器端身份验证,就像在 Razor 页面中一样。
我要做的就是将我的服务器设置为这个身份验证中介。看起来.AddOAuth() 可能会为我做这件事,但它可能不是为了这个目的。我找不到任何同时使用.AddJwt(...) 和.AddOAuth(...) 的人的例子。 ASP.NET Core 中是否有执行令牌交换的机制?
【问题讨论】:
标签: c# asp.net-core authentication oauth-2.0