【发布时间】:2013-04-22 04:18:30
【问题描述】:
我在我的网站中使用 Google 双重身份验证,但我希望能够检查“记住我”的用户,不需要在下一个条目时输入密钥。是否可以通过“记住我”选项绕过身份验证。我知道潜在的危险,但我们需要这样做。
【问题讨论】:
标签: authentication
我在我的网站中使用 Google 双重身份验证,但我希望能够检查“记住我”的用户,不需要在下一个条目时输入密钥。是否可以通过“记住我”选项绕过身份验证。我知道潜在的危险,但我们需要这样做。
【问题讨论】:
标签: authentication
不知道这是否仍然有帮助,但我想我还是会回答的。您尚未指定您使用的编程语言,这使得给您一个特定于语言的答案有点困难,因此我将根据我编写C# ASP.NET MVC Two Factor Authentication 实现的经验来回答,但方法应该与语言无关。
没有什么可以阻止您实施“记住我”功能,该功能允许用户绕过整个身份验证步骤(用户名/密码 + TFA)。实际上,假设双因素身份验证已正确实施,您将实施的任何其他“记住我”功能并没有什么不同。
通过正确实施两因素身份验证,我的意思是您的登录应该是一个两步过程(您可以一次性完成,但会降低可用性,为了解释起见,我将它们分开)
在我的代码中,我在第一步中有“记住我”复选框,然后如果用户提供了有效的用户名/密码组合,我将存储 UserProfile 对象以及是否在会话中选中了“记住我”并重定向用户到第二个因素页面。
然后,如果用户为存储在会话中的用户提供了正确的第二个因素,那么您将用户登录,如果他们选中“记住我”,则向 cookie 添加过期日期,否则将其留空当浏览器关闭时,过期日期将过期。
希望这能回答您的问题,我已尽量不在此处复制我网站上的整篇文章,因此,如果您认为我遗漏了什么,请随时查看,如果您仍然没有答案,请告诉我知道,我会更新我的答案。
【讨论】: