Google Authenticator (Android) + Django 即使在时间同步之后也说无效令牌

Posted

技术标签:

【中文标题】Google Authenticator (Android) + Django 即使在时间同步之后也说无效令牌【英文标题】:Google Authenticator (Android) + Django says Invalid Token even after the Time Sync 【发布时间】:2016-10-13 17:55:51 【问题描述】:

我正在尝试使用 django-two-factor-auth 和 Google Authenticator 实现多因素身份验证。但是每次我扫描二维码时,它都会说“输入的令牌无效。”

经过大量研究,我尝试了以下方法:

我已经尝试将 Django 版本降级到 1.8 Google Authenticator 代码时间校正(表示已同步)。 将服务器的时区更改为 IST(我的本地时区)。 尝试了django-two-factor-auth 中的示例应用程序(在我的本地系统上。即使这样也行不通!)。艰难,他们的在线示例应用程序正在运行 (http://example-two-factor-auth.herokuapp.com/)。

我正在使用 django 1.9 和最新版本的 Google Authenticator (android)。我不知道这可能是什么原因。

谢谢。

【问题讨论】:

我遇到了类似的问题,虽然它可以在我的机器上本地运行,但一旦在登台服务器上就无法运行,很奇怪。对此 +1 【参考方案1】:

我遇到了同样的问题,我通过以下步骤解决了它:

    在控制台sudo ntpdate time.nist.gov 将我的 settings.py 更改为:
LANGUAGE_CODE = 'en-us'
TIME_ZONE = 'America/Argentina/Buenos_Aires' 
USE_I18N = True
USE_L10N = True
USE_TZ = True

希望能帮到你。

【讨论】:

以上是关于Google Authenticator (Android) + Django 即使在时间同步之后也说无效令牌的主要内容,如果未能解决你的问题,请参考以下文章

Google-Authenticator

谷歌上google authenticator二次验证

CentOS 使用 Google Authenticator 登录验证

golang google authenticator totp代码

如何创建对 Amazon EC2 的 pem 文件 + google-authenticator 访问权限?

GOLANG编写google authenticator双因子用户认证体系