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

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

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

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

接口详细描述:  根据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 请求参数

字段类型描述
appIdString当前应用的标识
signStringsign = MD5(appSecret + token + appSecret),AppSecret为appId对应的密钥
tokenString用户前端获取的token

2.2 成功响应

字段类型描述
stateCodeint状态码
messageString状态描述
dataJson返回设备信息及设备风险检测数据
{
    "stateCode": 200,
    "message": "请求响应成功",
    "data": {
        "hardId": "22e38229a7eda501c58bf3ddee1a340a",
        ......
    }
}

2.3 错误响应

字段类型描述
stateCodeint状态码
messageString状态描述
dataJson异常时数据为空
{
    "stateCode": -10002,
    "message": "签名为空或验证失败",
    "data": null
}
错误码描述
-10001appId不存在或已经过期
-10002签名为空或验证失败
-10003token为空或没有对应的设备信息
-10004token已经过期
-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生产厂商默认返回
macAddressmac地址默认返回
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设备指纹默认返回
canvasIdcanvas指纹默认返回
webGlWebGl指纹默认返回
resolution设备分辨率默认返回
isLiedBrowser是否伪造浏览器默认返回
isCookieDisabled是否禁用cookie默认返回
isTamperUa是否篡改浏览器ua默认返回
isTamperRes是否篡改分辨率默认返回
isTamperCd是否篡改浏览器颜色深度默认返回
isEmulator是否模拟器默认返回

以上。

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


小飞象
80 声望5 粉丝