人勤 / dingxiang-php-sdk
Dingxiang PHP SDK
v0.0.3
2022-06-28 07:57 UTC
This package is auto-updated.
Last update: 2024-09-11 09:44:17 UTC
README
由于需要使用Thinkphp和Webman框架,而官方没有提供Composer安装,因此自己制作了一个集成。
依赖项
请在安装前确保以下模块已安装且可用,否则运行时会报错:
- PHP JSON模块
- PHP CURL模块
安装
在项目根目录执行以下安装命令:
composer require xianrenqh/dingxiang-php-sdk
使用
目前仅支持以下服务:
- 设备指纹
- 无感验证
- 实时风险决策
案例
PHP服务端使用
use xianrenqh\Dingxiang\CaptchaClient; $appId = "appId"; $appSecret = "appSecret"; $client = new CaptchaClient($appId, $appSecret); $client->setTimeOut(2); //指定服务器地址,saas可在控制台,应用管理页面最上方获取 $client->setCaptchaUrl("https://xxx.dingxiang-inc.com/api/tokenVerify"); $response = $client->verifyToken($param['captcha_token']); var_dump($response->serverStatus); //确保验证状态是SERVER_SUCCESS,SDK中有容错机制,在网络出现异常的情况会返回通过 if($response->result){ echo "true"; /**token验证通过,继续其他流程**/ }else{ echo "false"; /**token验证失败**/ }
Web端接入
获取appId
请先进入顶象控制台(或点击右上角登录按钮)中的“应用管理”或“应用配置”模块,并找到appId。
引入JS
<script src="https://cdn.dingxiang-inc.com/ctu-group/captcha-ui/index.js" crossorigin="anonymous" id="dx-captcha-script"></script>
注意:由于验证码JS会不定期升级更新,请直接引用顶象CDN上的资源,以便及时获得最新的安全防护。不要将JS文件下载到自己服务器上使用。
初始化 以下分别列举Javascript、React、Vue的初始化接入示例代码:
Javascript示例
假设页面上有一个
<div id="c1"></div>
,则可以像下面这样初始化验证码。
var myCaptcha = _dx.Captcha(document.getElementById('c1'), { appId: 'appId', //appId,在控制台应用管理或应用配置模块获取 apiServer: 'https://xxx.dingxiang-inc.com', // apiServer域名地址在控制台页面->无感验证->应用管页面左上角获取,必须填写完整包括https://。 success: function (token) { // console.log('token:', token) // 获取验证码token,用于后端校验,注意获取token若是sl开头的字符串,则是前端网络不通生成的降级token,请检查前端网络及apiServer地址。 } })
初始化完成后,验证码组件会被插入到
中。React示例
假设页面上有一个
,则可以像下面这样初始化验证码:// 类组件使用componentDidMount useEffect(() => { _dx.Captcha(document.getElementById('demo'), { appId: 'appId', //appId,在控制台应用管理或应用配置模块获取 apiServer: 'https://xxx.dingxiang-inc.com', // apiServer域名地址在控制台页面->无感验证->应用管页面左上角获取,必须填写完整包括https://。 success: token => { // 获取验证码token,用于后端校验,注意获取token若是sl开头的字符串,则是前端网络不通生成的降级token,请检查前端网络及apiServer地址。 console.log(token); } }); }, [])
可点击查看React完整示例代码 初始化完成后,验证码组件会被插入到 <div id="demo"中。
Vue示例
假设页面上有一个
,则可以像下面这样初始化验证码:mounted() { _dx.Captcha(this.$refs.demo, { // appId, 在控制台应用管理或应用配置模块获取 appId: "appId", apiServer: 'https://xxx.dingxiang-inc.com', // apiServer域名地址在控制台页面->无感验证->应用管页面左上角获取,必须填写完整包括https://。 success: token => { // 获取验证码token,用于后端校验,注意获取token若是sl开头的字符串,则是前端网络不通生成的降级token,请检查前端网络及apiServer地址。 console.log(token); } }); }
可点击查看Vue完整示例代码 初始化完成后,验证码组件会被插入到 <div ref="demo"中。
其他具体使用方法请参考 https://www.dingxiang-inc.com/docs