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