ilP*_*tiz 7 qr-code one-time-password google-authenticator two-factor-authentication totp
在 Google Authenticator 应用中,您可以扫描二维码或手动输入颁发者提供的密钥。
在下面的屏幕截图中,您可以看到Google安全设置中2FA的设置,显示了如何按照第二种方法获取TOTP。
我的问题是:这个密钥是如何生成的?
我正在尝试为我的网站使用 Google Authenticator 支持 2FA,我发现了许多有关如何生成 QR 码的参考资料和文档,但没有提到替代方法。
编辑:
更清楚地说,我在 Grails 3 Web 应用程序中使用 Google Authenticator 支持 2FA。我已经通过为每个用户生成一个密钥(Base32字符串)、提供一个二维码供用户扫描以及在登录时验证 TOTP 来实现整个用户流程。我用作依赖项:
org.jboss.aerogear:aerogear-otp-java, aerogear OTP可根据 GA 的 TOTP 方便地验证用户密钥org.grails.plugins:qrcode, qrcode Grails 插件生成二维码我的问题是关于在 Google Authenticator 应用程序中添加新条目的 2 种方法: 1. 扫描二维码(我这边一切正常) 2. 手动输入帐户名称和字母代码(在我的第一个屏幕截图中,代码是在 Google 安全设置中提供)
您可以看到 Android 版 GA 的说明性屏幕截图:
我如何生成并向fzee用户提供这样的代码(从第一个屏幕截图开始,并在第二个屏幕截图中命名为“提供的密钥”)?我确信它是在 QR 码中编码的相同数据字符串的编码,但我不知道是哪个(不仅仅是Base32)。
密钥=秘密
密钥应该与您生成的秘密相同。只需打开谷歌身份验证器并手动将其添加为密钥来测试它即可。
查看以下链接中的文档: https: //support.google.com/accounts/answer/1066447? co=GENIE.Platform%3DiOS&hl=en