我有一个使用Angular 7编写的单页应用程序,与ASP.Net Core 2.2 Web API服务器通信。
当用户登录时,用户将使用“资源所有者密码凭据”授权向我的授权服务器(connect/token)发送其凭据。
我正在尝试添加两步验证(短信),但我找不到任何描述如何进行此操作的示例。我发现的所有示例都是使用cookie身份验证编写的MVC。
我考虑了以下流程,但感觉应该有更好的方法
- 用户输入用户名和密码
- 如果用户已启用两步验证,我将向他发送一个带有代码的短信。此外,将向客户端发送一个受限制的access_token和id token。此access_token仅在启用用户发送2步验证码时有效。如果id-token具有“two factors”:“on”的claim,则将用户重定向到SMS确认代码。
- 用户将使用代码发送post请求。如果代码匹配,我将返回带有所有claim的新access_token给客户端。