ahmedhat/unifonic-authenticate

支持通过OTP对多个通道进行验证

dev-master 2021-04-29 10:36 UTC

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`目录。

Building SDK - Step 1

[仅限Windows用户] 在php.ini中配置CURL证书路径

CURL不再捆绑任何CA证书。因此,默认情况下,它将拒绝所有SSL证书作为不可验证的。您将需要获取您的CA证书并将curl指向它。步骤如下:

  1. https://curl.haxx.se/docs/caextract.html下载证书束(.pem文件)到您的系统上。
  2. 将`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的情况。

Open project in PHPStorm - Step 1

在PhpStorm中点击`打开`,浏览到您的生成的SDK目录,然后点击`OK`。

Open project in PHPStorm - Step 2

2. 添加新的测试项目

如以下所示,在解决方案名称上右键单击以创建新目录

Add a new project in PHPStorm - Step 1

将目录命名为"test"

Add a new project in PHPStorm - Step 2

向此项目添加一个PHP文件

Add a new project in PHPStorm - Step 3

命名为"testSDK"

Add a new project in PHPStorm - Step 4

根据您的项目设置,您可能需要在PHP代码中包含Composer的自动加载器以启用类自动加载。

require_once "../vendor/autoload.php";

确保`require_once`路径内正确指向依赖安装期间在`vendor`目录中创建的`autoload.php`文件。

Add a new project in PHPStorm - Step 4

之后,您可以添加代码来初始化客户端库并获取控制器类的实例。后续部分将提供初始化客户端库和使用控制器方法的示例代码。

3. 运行测试项目

要运行您的项目,您必须为项目设置解释器。解释器是安装在您的计算机上的PHP引擎。

从`文件`菜单打开`设置`。

Run Test Project - Step 1

在`语言 & 框架`内选择`PHP`。

Run Test Project - Step 2

在`解释器`选项附近浏览解释器并选择您的解释器。

Run Test Project - Step 3

选择解释器后,点击`OK`。

Run Test Project - Step 4

要运行您的项目,在测试项目中右键单击PHP文件,然后点击`运行`。

Run Test Project - Step 5

如何测试

可以使用PHPUnit运行此SDK中的单元测试。

  1. 首先使用composer安装依赖项,包括`require-dev`依赖项。
  2. 从命令行运行 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)

参数

参数标签描述
必需接收者地址
通道必需您想要发送的通道。可能的值有 smswhatsappvoice
code必需用户已输入的代码

示例用法

$to = 'to';
$channel = 'channel';
$code = 'code';

$result = $verifications->createCheckVerification($to, $channel, $code);

错误

错误代码错误描述
400无效输入参数

方法: createVerification

此端点可以通过任何主要通道(如 SmsVoiceWhatsapp)发送验证码。默认情况下,它会向 Authenticate 应用中配置的所有通道发送消息。

function createVerification(
        $to,
        $channel = null,
        $locale = 'en',
        $length = null)

参数

参数标签描述
必需接收者地址
通道可选您想要用于发送验证码的通道。目前有三个通道 SMSVoiceWhatsapp。它们可以定义在 Unifonic Authenticate 配置面板中。默认情况下,将通过所有配置的通道发送验证码。如果没有定义通道,验证码将根据每个通道定义的优先级发送。
locale可选 默认值您想要发送的语言
length可选验证码长度

示例用法

$to = 'to';
$channel = 'channel';
$locale = 'en';
$length = 'length';

$result = $verifications->createVerification($to, $channel, $locale, $length);

错误

错误代码错误描述
400无效输入参数

返回控制器列表