ahmedhat / unifonic-authenticate
支持通过OTP对多个通道进行验证
Requires
- php: >=5.4.0
- ext-curl: *
- ext-json: *
- ext-mbstring: *
- apimatic/jsonmapper: ^1.3.1
- apimatic/unirest-php: ^2.0.0
Requires (Dev)
This package is not auto-updated.
Last update: 2024-09-28 00:51:12 UTC
README
支持通过OTP对多个通道进行验证
如何构建
生成的代码依赖于外部库,如UniRest。这些依赖在SDK附带的`composer.json`文件中定义。为了解决这些依赖,我们使用Composer包管理器,它要求您的系统安装PHP版本大于5.3.2。请访问[https://getcomposer.org.cn/download/](https://getcomposer.org.cn/download/)下载Composer的安装文件并在您的系统上运行它。打开命令提示符并输入`composer --version`。如果安装成功,这将显示已安装的Composer的当前版本。
- 使用命令行,导航到包含生成的SDK文件的目录(包括`composer.json`)。
- 运行命令`composer install`。这将安装所有必需的依赖项并在您的项目目录中创建`vendor`目录。
[仅限Windows用户] 在php.ini中配置CURL证书路径
CURL不再捆绑任何CA证书。因此,默认情况下,它将拒绝所有SSL证书作为不可验证的。您将需要获取您的CA证书并将curl指向它。步骤如下:
- 从https://curl.haxx.se/docs/caextract.html下载证书束(.pem文件)到您的系统上。
- 将`curl.cainfo = "PATH_TO/cacert.pem"`添加到您的php.ini文件中,该文件位于您的PHP安装目录中。"PATH_TO"必须是一个包含.pem文件的绝对路径。
[curl]
; A default value for the CURLOPT_CAINFO option. This is required to be an
; absolute path.
;curl.cainfo =
如何使用
以下部分解释了如何在新的项目中使用UnifonicAuthenticate库。
1. 在IDE中打开项目
打开PHP的IDE,如PhpStorm。这里展示的基本工作流程也适用于您更喜欢使用不同编辑器或IDE的情况。
在PhpStorm中点击`打开`,浏览到您的生成的SDK目录,然后点击`OK`。
2. 添加新的测试项目
如以下所示,在解决方案名称上右键单击以创建新目录
将目录命名为"test"
向此项目添加一个PHP文件
命名为"testSDK"
根据您的项目设置,您可能需要在PHP代码中包含Composer的自动加载器以启用类自动加载。
require_once "../vendor/autoload.php";
确保`require_once`路径内正确指向依赖安装期间在`vendor`目录中创建的`autoload.php`文件。
之后,您可以添加代码来初始化客户端库并获取控制器类的实例。后续部分将提供初始化客户端库和使用控制器方法的示例代码。
3. 运行测试项目
要运行您的项目,您必须为项目设置解释器。解释器是安装在您的计算机上的PHP引擎。
从`文件`菜单打开`设置`。
在`语言 & 框架`内选择`PHP`。
在`解释器`选项附近浏览解释器并选择您的解释器。
选择解释器后,点击`OK`。
要运行您的项目,在测试项目中右键单击PHP文件,然后点击`运行`。
如何测试
可以使用PHPUnit运行此SDK中的单元测试。
- 首先使用composer安装依赖项,包括`require-dev`依赖项。
- 从命令行运行
vendor\bin\phpunit --verbose
来执行测试。如果您已全局安装 PHPUnit,请使用phpunit --verbose
运行测试。
您可以在 phpunit.xml
文件中更改 PHPUnit 测试配置。
初始化
认证
为了设置 API 客户端的认证和初始化,您需要以下信息。
参数 | 描述 |
---|---|
xAuthenticateAppId | 待办:添加描述 |
授权 | Bearer 认证令牌 |
API 客户端可以按以下方式初始化。
$xAuthenticateAppId = 'xAuthenticateAppId';
$authorization = 'Bearer AUTH_TOKEN'; // Bearer Auth Token
$client = new UnifonicAuthenticateLib\UnifonicAuthenticateClient($xAuthenticateAppId, $authorization);
类参考
控制器列表
VerificationsController
获取单例实例
可以通过 API 客户端访问 VerificationsController
类的单例实例。
$verifications = $client->getVerifications();
createCheckVerification
待办:添加方法描述
function createCheckVerification(
$to,
$channel,
$code)
参数
参数 | 标签 | 描述 |
---|---|---|
到 | 必需 | 接收者地址 |
通道 | 必需 | 您想要发送的通道。可能的值有 sms 、whatsapp 及 voice 。 |
code | 必需 | 用户已输入的代码 |
示例用法
$to = 'to';
$channel = 'channel';
$code = 'code';
$result = $verifications->createCheckVerification($to, $channel, $code);
错误
错误代码 | 错误描述 |
---|---|
400 | 无效输入参数 |
createVerification
此端点可以通过任何主要通道(如
Sms
、Voice
和
function createVerification(
$to,
$channel = null,
$locale = 'en',
$length = null)
参数
参数 | 标签 | 描述 |
---|---|---|
到 | 必需 | 接收者地址 |
通道 | 可选 | 您想要用于发送验证码的通道。目前有三个通道 SMS 、Voice 和 Whatsapp 。它们可以定义在 Unifonic Authenticate 配置面板中。默认情况下,将通过所有配置的通道发送验证码。如果没有定义通道,验证码将根据每个通道定义的优先级发送。 |
locale | 可选 默认值 | 您想要发送的语言 |
length | 可选 | 验证码长度 |
示例用法
$to = 'to';
$channel = 'channel';
$locale = 'en';
$length = 'length';
$result = $verifications->createVerification($to, $channel, $locale, $length);
错误
错误代码 | 错误描述 |
---|---|
400 | 无效输入参数 |