如何在php中为google authenticator生成备份代码

如何在php中为google authenticator生成备份代码,php,google-authenticator,Php,Google Authenticator,我在我的网站上使用googleauthenticator进行两步验证。我正在使用Google Authenticator。它工作正常,但现在我想生成备份代码,供以后使用,但该库中没有生成备份代码的功能 我想知道备份代码的算法,以及如何在php中实现它。复制算法是不可能的 这是目前不支持的目的,以减少攻击面。目前,谷歌还没有计划增加这一功能 实际上,这不仅仅是复制算法的问题(这很容易)。您还需要获取算法生成代码的密钥。目前,Google Authenticator没有提供获取此密钥的方法,也没有计

我在我的网站上使用
googleauthenticator
进行两步验证。我正在使用Google Authenticator
。它工作正常,但现在我想生成
备份代码
,供以后使用,但该库中没有生成
备份代码
的功能

我想知道备份代码的算法,以及如何在php中实现它。

复制算法是不可能的 这是目前不支持的目的,以减少攻击面。目前,谷歌还没有计划增加这一功能

实际上,这不仅仅是复制算法的问题(这很容易)。您还需要获取算法生成代码的密钥。目前,Google Authenticator没有提供获取此密钥的方法,也没有计划使用此功能

更多信息请访问

解决方案1:PAM模块 可以向任何启用PAM的应用程序添加双因素身份验证步骤。本模块支持紧急刮擦代码。您必须执行一些shell脚本,并用php代码调用它们

解决方案2:使用另一个php API为您完成这项工作 如果您使用的是Apache服务器,请下载名为multiOTP的免费软件。此库包含一个可集成在FreeRadius中的命令行版本

  • 在服务器上安装FreeRadius
  • 按照multiOTP提供的说明将multiOTP集成到FreeRadius中
  • 在Apache中使用mod_auth_radius进行radius身份验证

MultiOTP与支持TOTP和HOTP的Google Authenticator完全兼容。它支持带有10个代码的紧急刮擦密码。

我可以看到,当我们使用google authenticator启用两步身份验证时,许多网站会生成10个备份代码供以后使用。我也希望在我的网站类似的功能。如何在php中生成这些备份代码?您应该尝试PAM模块来实现这一点。或者您可以尝试另一个php API,如multiOTP+1 for multiOTP。让我检查一下是否符合我的要求。:)@用户3559285:谢谢你的贡献!“如果需要10个以上的代码,可以在配置文件
config/multiotp.ini
中更改
scratch\u passwords\u amount=value
”-user3559285