根底篇请看:设施指纹系列 – 根底篇
前段篇请看:设施指纹系列 – 前端篇
上接前文,咱们持续来说设施指纹的后端接入形式。
————————————– 我是分割线 —————————————-
接口详细描述: 依据 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 | 是否模拟器 | 默认返回 |
以上。
完整版接入计划:设施指纹接入