设备指纹系列–后端篇

基础篇请看:设备指纹系列–基础篇

前段篇请看:设备指纹系列–前端篇

上接前文,我们继续来说设备指纹的后端接入方式。

--------------------------------------我是分割线----------------------------------------

接口详细描述: 根据token,appId,sign三个参数获得设备信息

1.SDK接入方法说明

1.1 Java SDK接入

  1. 包的引入
<dependency>
    <groupId>com.dingxiang-inc</groupId>
    <artifactId>ctu-client-sdk</artifactId>
    <version>2.6</version>
</dependency>
  1. 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 是否模拟器 默认返回

以上。

完整版接入方案:设备指纹接入

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码

)">
< <上一篇
下一篇>>