我在我的一个应用程序中实现了2FA(TOTP方法)。密钥生成和TOTP代码验证均在服务器端(PHP)处理。在某些情况下,我的应用程序不接受TOTP应用程序(我的情况为Google Authenticator)生成的TOTP代码。我知道这是因为时差。我期待一种支持来自不同时区的用户的方法。
当前实施行为:
案例1(完美的作品):
情况2(登录失败):
情况3(登录失败):
通常如何将TOTP集成到应用程序中以支持来自不同时区的用户?
从客户端(JS)生成机密和验证是最佳实践吗?
答案 0 :(得分:2)
您应该始终将UTC用作时区。这是最简单的方法。