xianrenqh / dingxiang-php-sdk
Dingxiang PHP SDK
v0.0.3
2022-06-28 07:57 UTC
This package is auto-updated.
Last update: 2024-11-11 10:13:29 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