我正在尝试使用 Laravel 5.8 使用 Twilio Authy 实现 2FA。我正在寻找添加用户可以扫描二维码或手动输入代码以将帐户添加到手机上的 Authy 应用程序的功能。我关注了https://www.twilio.com/docs/authy/api/users#add-a-user-without-providing-email-or-phone-number并能够使用在线 QR 生成器生成 QR 码,但我'我无法找到有关如何生成 16 位字母数字密钥以手动输入 Authy 应用程序而不是扫描 QR 码的任何文档。我怎样才能做到这一点?
问问题
457 次
1 回答
0
Twilio 开发人员布道者在这里。
当您创建 QR 码以将用户添加到 Authy 应用程序而不输入他们的电话号码或电子邮件时,您会使用如下所示的 URL生成一个 QR 码:
authy://account?token={JWT}
JWT 包含一个自定义用户 ID,这意味着您以后可以通过轮询或侦听对自定义 webhook 的请求来获取该用户的状态。
这意味着用户的 Authy 帐户已连接到您的 Authy 应用程序,但您不需要获取电话号码或电子邮件地址。
如果您只是提供了要在应用程序中输入的字母数字密钥,那么将无法连接用户帐户。
另一种方法是获取用户的电话号码和电子邮件地址并将他们注册为 Authy 用户,然后生成他们可以在任何身份验证器应用程序中使用的 QR 码。诚然,这个 API 只会返回一个 QR 码,尽管该 QR 码将包含您的字母数字密码。在这种情况下,您必须自己获取用户的电子邮件和电话号码并阅读应用程序中的二维码,但您可以通过这种方式获取秘密。
于 2021-02-21T03:38:26.610 回答