【发布时间】:2017-06-19 14:10:06
【问题描述】:
在 ASP.NET MVC 5 的默认模板中,使用两因素身份验证登录时,可以选择“记住此浏览器”。
在 ASP.NET MVC 中,这涉及在 Startup.Auth.cs 中配置 app.UseTwoFactorRememberBrowserCookie();,然后将 SignInManager.TwoFactorSignInAsync() 与 isPersistent: true 一起使用
我想完成相同的操作,但使用带有 OAuth2 Bearer Tokens 的 ASP.NET Web API。
即我希望用户能够注销(或自动注销)。但是下次使用同一个浏览器登录时,用户只需要提供密码,不需要双重身份验证。
我将如何使用 OAuth2 Bearer Tokens 实现此类行为?
【问题讨论】:
-
如果您不想使用它,为什么要设置两个因素身份验证?
-
我希望用户必须在每台设备上使用两次身份验证(实际上,每个浏览器一次)。这是许多服务所采用的方法——Microsoft Account、Dropbox 等。
-
您将需要用户表中的位字段 0 或 1,将用户标记为已成功使用双因素身份验证。然后在登录时检查该值。如果他们成功使用了两个因素身份验证,则让他们进入,如果没有,则将身份验证代码发送到他们的设备。
标签: c# .net asp.net-mvc asp.net-web-api asp.net-identity