pabloader/authy-php

此包已被废弃,不再维护。作者建议使用 authy/php 包。

Authy 的 PHP 客户端

v2.5 2016-10-20 19:52 UTC

This package is auto-updated.

Last update: 2022-04-29 10:15:52 UTC


README

用于使用 Authy API 的 PHP 库。

安装

此库需要 PHP 5.3+

通过 Composer 安装

pabloader/authy-php 包可在 Packagist 上找到。

在您的 composer.json 中包含它,如下所示

{
    "require": {
        "authy/php": "2.*"
    }
}

使用方法

要使用此客户端,只需使用 Authy_Api 并使用您的 API 密钥初始化它

$authy_api = new Authy\AuthyApi('#your_api_key');

现在您已经有了 Authy API 对象,您就可以开始发送请求。

注意:如果您想向沙盒发送请求,必须将沙盒 URL 作为第二个参数传递

$authy_api = new Authy\AuthyApi('#your_api_key', 'http://sandbox-api.authy.com');

创建用户

注意:用户是根据手机号和国家代码进行匹配的,而不是电子邮件。手机号与 authy_id 唯一关联。

创建用户非常简单,您需要传递一个电子邮件、一个手机号以及可选的国家代码

$user = $authy_api->registerUser('new_user@email.com', '405-342-5699', 1); //email, cellphone, country_code

在这种情况下,1 是国家代码(美国)。如果没有指定国家代码,则默认为美国。

您可以通过调用 ok() 来轻松判断用户是否已创建。如果请求成功,您需要将 authy id 存储在您的数据库中。使用 user->id() 在您的数据库中获取此 id

if($user->ok())
    // store user->id() in your user database

如果发生错误,ok() 返回 false,您可以使用以下代码查看错误

else
    foreach($user->errors() as $field => $message) {
      printf("$field = $message");
    }

它返回一个字典,说明请求出错的原因。错误将以英文显示,可以传递给用户。

验证令牌

注意:只有当用户完成注册时,才会强制执行令牌验证。要更改此行为,请参阅下面的强制验证部分。

注册完成后,用户安装并注册 Authy 移动应用或通过短信成功登录一次。

要验证令牌,您需要用户 ID 和令牌。令牌是通过您的登录表单从用户那里获得的。

$verification = $authy_api->verifyToken('authy-id', 'token-entered-by-the-user');

再次使用 ok() 来验证令牌是否有效。

if($verification->ok())
    // the user is valid

强制验证

如果您希望即使用户尚未完成注册,也验证令牌,请在验证令牌时传递 force=true。

$verification = $authy_api->verifyToken('authy-id', 'token-entered-by-the-user', array("force" => "true"));

请求短信令牌

要使用此方法,您需要激活 Authy 应用程序的 SMS 插件。

要请求短信令牌,您只需要用户 ID。

$sms = $authy_api->requestSms('authy-id');

一如既往,您可以使用 ok() 验证令牌是否已发送。如果用户正在使用 Authy 移动应用,则此调用将被忽略。如果您仍然希望发送短信密码,可以将 force=>true 作为选项

$sms = $authy_api->requestSms('authy-id', array("force" => "true"));

检查用户状态

要检查用户状态,只需传递用户 ID。

$status = $authy_api->userStatus('authy_id');

电话验证 && 信息

Authy 提供了一个 API,可通过电话或短信验证用户。此外,用户电话信息可以用于支持和验证目的。

电话验证开始

为了开始电话验证,我们要求 API 通过短信或电话将令牌发送给用户

$authy_api->phoneVerificationStart('111-111-1111', '1', 'sms');

可选地,您可以指定您希望电话验证消息发送的语言。支持的语言包括:英语(en)、西班牙语(es)、葡萄牙语(pt)、德语(de)、法语(fr)和意大利语(it)。如果未指定,则使用英语。

$authy_api->phoneVerificationStart('111-111-1111', '1', 'sms', 'es');
// This will send a message in spanish

电话验证检查

一旦您从用户那里收到验证,您可以使用以下方法检查其有效性:

$authy_api->phoneVerificationCheck('111-111-1111', '1', '0000');

电话信息

如果您想收集有关用户电话的更多信息,请使用电话信息。

$authy_api->phoneInfo('111-111-1111', '1');

测试

您需要安装 composer https://composer.php.ac.cn/download/ 并使用 composer install --no-dev 安装依赖项。此外,您还需要安装 phpunit https://phpunit.de/manual/current/en/installation.html

然后,您可以通过执行此命令 make 来运行测试

更多…

您可以在官方文档页面上找到完整的 API 文档。

版权

版权(c)2011-2020 Authy Inc。