0

在 ASP.NET MVC 中实现了来自http://satalketo.com/2013/09/mvc-two-factor-authentication/ 两因素身份验证的代码, 当用户注册时,他获得了一个密钥并显示了一个他可以扫描的二维码到 Google Authenticator,一切正常,当用户尝试登录系统时接受与他输入的密钥不同的密钥。服务器端的功能 GeneratePin 生成与他在 Google Authenticator 移动应用程序中获得的不同的密钥。我不知道出了什么问题,试图认为时区可能不正确,我的时区是耶路撒冷 UTC + 2

4

1 回答 1

1

我已经仔细查看了我的代码,但我看不出这应该是一个问题的任何原因。我能想到的唯一原因是两台设备中的一台与 UTC 不同步超过 30 秒。

我已经更新了源代码,包括检查当前任一侧的 30 秒周期,以尝试处理任何类似的情况。

您可以在GitHub 上找到更新的代码,这将是下载整个解决方案的最佳位置。我的文章ASP.NET MVC 中的两因素身份验证已更新,包括用于检查任一方期间的代码。

如果这没有帮助,请让我知道您能想到的任何其他信息。

于 2013-11-05T21:49:08.747 回答