为第二个用户覆盖的Asp.Net Identity TwoFactorRememberBrowser cookie

时间:2015-07-08 15:03:42

标签: asp.net-identity two-factor-authentication

使用Asp.Identity 2.2.1和双因素身份验证,当用户登录时,如果不存在TwoFactorRememberBrowser cookie,则会将其带到SendCode操作,并将代码发送到他们的电子邮件或电话。这是standard sample code for MVC 5.2。他们选择了“记住浏览器”,然后保存cookie以便下次无需代码即可使用。

然后第二个用户登录同一设备。与上面的SendCode屏幕一起显示,并为它们保存cookie。

但是,如果第一个用户再次返回登录,则现在已为第二个用户更改了TwoFactorRememberBrowser cookie,因此它不再记住第一个用户的浏览器。

这没有意义。作为用户,当我选择记住浏览器时,它不应该依赖于其他人随后记住相同的浏览器。

这是Asp.Net Identity的设计方式,还是我错过了什么?

1 个答案:

答案 0 :(得分:0)

服务器将cookie发送给用户代理(浏览器),并在该用户代理访问同一服务器时返回,直到cookie过期。这是cookie协议。

让2个用户共享同一个浏览器似乎不是协议管理的东西。

Asp.Net Identity尝试通过加密cookie内容来确保安全性,但在分发cookie时错失了对经过身份验证的用户进行区分的机会,因此在收到cookie时必须盲目接受共享cookie。

我认为 Asp.Net Identity的工作方式。我认为这是一个设计缺陷。