【问题标题】:Authy documentation Auth-Key and QR codeAuthy 文档 Auth-Key 和二维码
【发布时间】:2018-05-11 11:04:05
【问题描述】:

我正在尝试使用 authy 实现 2FA,并使用 authy php 库和 authy API 密钥将用户添加到 authy,以便用户可以扫描二维码并在手机中获取我的应用身份验证。

我做了library github page 中提到的文档。用户数据已成功保存,但我得到一些随机数字密钥(由 authy 为用户生成)秘密存储在数据库中,如果我在应用程序中输入该密钥,则显示 密钥无效 错误, 查看下面的截图

我们需要输入类似这样的秘密,但我得到数字秘密,如果我手动输入该应用程序显示错误,如下图所示

文档如下

require_once dirname(__DIR__) . '/extra/Authy/vendor/autoload.php';
$authy_api = new Authy\AuthyApi('MY_API_KEY');
$user = $authy_api->registerUser('email@gmail.com', '9999999999', 91); // (email, phone number, country code)
if($user->ok()){
echo json_encode($user->id());
}else{
foreach($user->errors() as $field => $message) {
printf("$field = $message");
}
}

另一个问题是如何生成 Authy 可以理解的二维码?我搜索了一些,但没有得到任何解决方案。请帮帮我。

【问题讨论】:

    标签: php qr-code two-factor-authentication authy


    【解决方案1】:

    这里是 Twilio/Authy 开发者宣传员。

    我必须道歉,我们这里的文档有点落后。我会尽力帮忙的。

    首先,我建议您查看two factor authentication with Twilio and Authy 上的此文档。

    其次,让我向 Authy 解释一下你已经走了多远的过程。

    您已正确设置 API 和凭据,然后您已使用对 $authy_api->registerUser 的调用注册了用户。您从该响应中获得的用户 ID 不应与任何人共享。它是您在 Authy 数据库中对您的用户的引用。您应该针对正在注册的用户存储该 ID,并在您需要发送代码或验证代码时使用该 ID。

    您也无需使用二维码与用户分享任何内容。要启动两因素身份验证过程,您现在需要调用:

    $authy_api->requestSMS($userID);
    

    在此代码中,您从 API 返回的 ID 为 $usedID

    该方法调用表明它将发送一条 SMS,但这只是一些遗留问题。

    • 如果您的用户已经安装了 Authy 移动应用程序并登录并使用他们的电话号码进行了验证,那么 Authy 将向该应用程序发送推送通知,其中包含他们需要发送给您的代码。您的应用将出现在 Authy 应用中,用户无需执行任何操作(尤其是扫描二维码)。
    • 如果用户没有安装 Authy 应用程序,则 Authy 将向他们发送带有代码的 SMS 消息。如果您想避免发送 SMS 消息,则需要鼓励您的用户安装 Authy 应用。

    最后,一旦用户在您的网站上输入代码,您应该致电verify the token

    $authy_api->verifyToken($userID, $token);
    

    在这种情况下,$userID 是您最初从 registerUser 调用中获得的 ID,并且您保存给您的用户。 $token 是他们从应用程序或短信输入的代码。

    如果这有帮助或者您有任何其他问题,请告诉我。

    【讨论】:

    • 感谢您的回答,感谢您的帮助!但是我找到了解决方案,首先我想我可以生成二维码并让用户扫描该代码,然后我才知道 authy 只会在用户注册我的应用程序时向用户发送通知!
    • 太棒了,很高兴你把它整理好了。 :)
    猜你喜欢
    • 1970-01-01
    • 2022-11-03
    • 2013-02-19
    • 1970-01-01
    • 1970-01-01
    • 2011-01-30
    • 2014-08-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多