根底篇请看:设施指纹系列--根底篇
前段篇请看:设施指纹系列--前端篇
上接前文,咱们持续来说设施指纹的后端接入形式。
--------------------------------------我是分割线----------------------------------------
接口详细描述: 依据token,appId,sign三个参数取得设施信息
1.SDK接入办法阐明
1.1 Java SDK接入
- 包的引入
<dependency> <groupId>com.dingxiang-inc</groupId> <artifactId>ctu-client-sdk</artifactId> <version>2.6</version></dependency>
- Java应用示例
public class ConstantIdDemo { //顶象控制台,设施指纹菜单利用治理外面获取 private static String appId = "0091a3xxxxxxxxxx557fac67b2f5afb"; private static String appSecret = "e38dxxxxxxxxx6807c9e1edebaa2836"; public static void main(String[] args) throws IOException { // 填写设施指纹域名或者url如:http://127.0.0.1:8080 CtuConstidClient client = new CtuConstidClient("https://constid.dingxiang-inc.com", appId, appSecret); //设施指纹 String result = client.getDeviceInfo("62c5013cel9o4xxxxxxxxxtTtKW5BwWtQq9u1f1"); System.out.println(JSON.toJSON(result)); }}
1.2 PHP SDK接入
点击下载SDK
应用示例
class Demo { // 依据理论状况填写 const appKey = "你的AppID"; // 依据理论状况填写 const appSecret = "你的AppSecret"; // 依据理论状况填写 const token = "SDK外面获取到的token";}// 依据token获取设施详细信息工具类$requestHandle = new DeviceFingerprintHandle();// 设置申请超时工夫。因为存在设施指纹降级和网络抖动的状况,默认2秒。能够依据理论状况调整// $requestHandle->setTimeout(2);// 填写设施指纹域名或者url入:http://127.0.0.1:9090$responseData = $requestHandle->getDeviceInfo("https://constid.dingxiang-inc.com/udid/api/getDeviceInfo", Demo::appKey, Demo::appSecret, Demo::token);$result = json_decode($responseData, true);// 申请状态码。非 200 示意没有获取到设施明细信息if ($result['stateCode'] == 200) echo "设施明细信息如下: : " . json_encode($result['data'], true);else echo $result['message'];
1.3 NodeJS SDK接入
npm i dx-const-id-sdk --save
const SDK = require('dx-const-id-sdk')const sdk = new CaptchaSDK({ appId: '您的appId', appSecret: '您的appSecret'})sdk.getDeviceInfo(token).then((data) => { console.log(data)}).catch(err => { console.log('获取设施信息失败')})
2.HTTP接口接入办法
2.1 申请参数
字段 | 类型 | 形容 |
---|---|---|
appId | String | 以后利用的标识 |
sign | String | sign = MD5(appSecret + token + appSecret),AppSecret为appId对应的密钥 |
token | String | 用户前端获取的token |
2.2 胜利响应
字段 | 类型 | 形容 |
---|---|---|
stateCode | int | 状态码 |
message | String | 状态形容 |
data | Json | 返回设施信息及设施危险检测数据 |
{ "stateCode": 200, "message": "申请响应胜利", "data": { "hardId": "22e38229a7eda501c58bf3ddee1a340a", ...... }}
2.3 谬误响应
字段 | 类型 | 形容 |
---|---|---|
stateCode | int | 状态码 |
message | String | 状态形容 |
data | Json | 异样时数据为空 |
{ "stateCode": -10002, "message": "签名为空或验证失败", "data": null}
错误码 | 形容 |
---|---|
-10001 | appId不存在或曾经过期 |
-10002 | 签名为空或验证失败 |
-10003 | token为空或没有对应的设施信息 |
-10004 | token曾经过期 |
-10005 | 服务器外部异样 |
-10006 | 证书曾经生效 |
-10007 | 服务器限流 |
3. HTTP接口返回参数明细阐明
3.1 收费用户
字段名 | 字段形容 | 阐明 |
---|---|---|
token | 设施token | 默认返回 |
hardId | 设施指纹 | 默认返回 |
3.1.1 web端返回后果
字段名 | 字段形容 | 阐明 |
---|---|---|
token | 设施token | 默认返回 |
hardId | 设施指纹 | 默认返回 |
3.2 免费用户
3.2.1 挪动端返回后果(局部示例,更多返回字段请分割售后反对获取)
字段名 | 字段形容 | 阐明 |
---|---|---|
token | 设施token | 默认返回 |
deviceType | 设施类型 | 默认返回 |
hardId | 设施指纹 | 默认返回 |
producter | 生产厂商 | 默认返回 |
macAddress | mac地址 | 默认返回 |
isEmulator | 模拟器运行 | 默认返回 |
isRoot | 是否root | 默认返回 |
isMultirun | 是否多开 | 默认返回 |
isInject | 是否存在注入危险 | 默认返回 |
isMemdump | 是否存在内存dump危险 | 默认返回 |
isDebug | 是否存在调试危险 | 默认返回 |
isHook | 是否存在hook危险 | 默认返回 |
isJailBreak | 是否越狱 | 默认返回 |
isVpn | 是否应用vpn | 默认返回 |
isProxy | 是否应用代理 | 默认返回 |
isSimulateGPS | 是否篡改GPS | 默认返回 |
isCloudPhone | 是否云真机 | 默认返回 |
3.2.2 web端返回后果(局部示例,更多返回字段请分割售后反对获取)
字段名 | 字段形容 | 阐明 |
---|---|---|
token | 设施token | 默认返回 |
deviceType | 设施类型 | 默认返回 |
hardId | 设施指纹 | 默认返回 |
canvasId | canvas指纹 | 默认返回 |
webGl | WebGl指纹 | 默认返回 |
resolution | 设施分辨率 | 默认返回 |
isLiedBrowser | 是否伪造浏览器 | 默认返回 |
isCookieDisabled | 是否禁用cookie | 默认返回 |
isTamperUa | 是否篡改浏览器ua | 默认返回 |
isTamperRes | 是否篡改分辨率 | 默认返回 |
isTamperCd | 是否篡改浏览器色彩深度 | 默认返回 |
isEmulator | 是否模拟器 | 默认返回 |
以上。
完整版接入计划:设施指纹接入