pabloader / authy-php
Requires
- php: >=5.3.0
- guzzlehttp/guzzle: ~5.0
Requires (Dev)
- eher/phpunit: >= 1.6
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。