2013-04-22 179 views
0

我在我的网站中使用Google双因素身份验证,但我希望能够检查'记住我'的用户,无需在下一个条目中输入密钥。是否可以通过“记住我”选项绕过身份验证。我知道潜在的危险,但我们需要这样做。绕过Google双因素身份验证

回答

0

不知道这是否仍然有帮助,但我想我会回答。你没有指定你正在使用什么编程语言,这使得给你一个语言特定的答案有点困难,因此我将根据我的经验编写一个C# ASP.NET MVC Two Factor Authentication实现的答案,但方法应该是语言不可知。

没有什么可以阻止您实现'记住我'功能,允许用户绕过整个身份验证步骤(用户名/密码+ TFA)。它实际上没有任何其他的'记住我'功能,你会实现假设双因素认证已正确实​​施。

通过正确实施双因素认证我的意思是说,您的登录应该是一个两步过程(您可以在一个过程中完成,但它降低了可用性,为了解释起见,我将保持它们分开)

  1. 用户指定他们的用户名和密码。如果他们提供了有效的用户名/密码组合,那么他们会转到第二步,但他们是不是尚未验证!他们不应该能够导航到需要用户登录的任何页面。
  2. 用户指定他们的第二个因素。只有当用户提供正确的第二个因素时,他们才能被认证并允许继续。

在我的代码,我有“记住我”复选框,在第一步中,那么如果用户提供有效的用户名/密码组合,我将存储的UserProfile对象以及是否“记住我”是在检查会话并将用户重定向到第二个因子页面。

然后,如果用户为存储在会话中的用户提供了正确的第二个因素,那么您将用户登录,如果他们选中了“记住我”,那么向cookie添加到期日期,否则将其留给空的到期日期,然后在浏览器关闭时过期。

希望能回答你的问题,我试过不要在我的网站上重现整篇文章,所以如果你觉得我错过了一些东西,如果你还没有答案,请随时检查一下我知道,我会更新我的答案。