ASP.NET Web API 2 - 如何为SPA应用实现OAuth2.0

ASP.NET Web API 2 - How to implement OAuth2.0 for SPA applications

我正在尝试实施 WEB API 2(对于单页应用程序,不作为 Visual Studio 项目的一部分)OAuth2.0 协议。根据 Which OAuth 2.0 flow should I use,使用刷新令牌不是一种选择。但是,我不确定我是否理解最终静默身份验证的隐式授权流程。

Implicit Flow 是指只发放普通访问令牌吗?那么,我们如何让用户长时间保持登录状态呢?静默身份验证端点应该是什么样子,它应该接收什么并 return 给客户端?使用刷新令牌真的是个问题吗——大多数人的用户名/密码都保存在浏览器中?

Implicit Flow 是指只发放普通访问令牌吗?是的

那么,我们如何让用户长时间保持登录状态呢?您可以使用 "expires_in" 参数设置超时。

请参阅此处的完整详细信息:https://oauth2.thephpleague.com/authorization-server/implicit-grant/

Silent Authentication 端点应该是什么样子,它应该接收什么以及 return 给客户端?在登录期间对用户进行身份验证后,服务器会发送并在 session/browser 中设置身份验证密钥。因此,在每次页面调用期间,只有身份验证密钥会发送到服务器。网上有很多实现的例子。

使用刷新令牌真的是个问题吗——大多数人的用户名/密码都保存在浏览器中?不,这不是问题。如果令牌过期,您可以在身份验证后轻松补发令牌。密码和用户名未保存在浏览器中。仅存储身份验证密钥。