网易易盾智能风控抖音小程序端接入文档
接入步骤
请登录易盾官网后台风控引擎-服务管理获取SDK,详情如图
引入/安装 SDK
const createProtector = require('YiDunProtector-weapp-douyin.js')
域名白名单
需要将小程序 SDK 的服务器域名(地址:https://ir-sdk.dun.163.com, https://ir-sdk.dun.163yun.com 加入服务器域名白名单。
初始化SDK
执行SDK初始化。
const pt = createProtector({ productId: '<PRODUCT_ID>', timeout: 6000 })
其中:
productId
是应用标识,对应易盾控制台中的产品编号,YD开头
timeout
数据上报超时时间,单位 ms,默认 6000
注:不可用的productId会导致服务端鉴权接口失败,请确保productId是正常可用的。
私有化初始化SDK
执行SDK初始化。
const pt = createProtector({ productId: '<PRODUCT_ID>', apiServer:'https://xxxxx.xxxx.xxxx', timeout: 6000 })
其中:
productId
是应用标识,对应易盾控制台中的产品编号,YD开头
apiServer
私有化服务器地址,私有化的客户需要通过该接口设置服务器地址,其他客户可以忽略
timeout
数据上报超时时间,单位 ms,默认 6000
注:不可用的productId会导致服务端鉴权接口失败,请确保productId是正常可用的。
获取 Token
pt.getToken({openid: '<openid>',unionid: '<unionid>'}).then(result => {
if (result.code === 200) { // 正常情况
alert('get token:', result.token)
}
if (result.code === 201) { // 离线模式
alert('get token:', result.token)
}
})
其中:
openid
支付宝返回的用户openid
unionid
支付宝返回的用户unionid
getToken 返回有两种模式:
- 正常模式,数据正常上报到设备指纹服务端,token 长度固定
- 离线模式,数据上报过程中出现异常,比如网络抖动/超时等,token 长度不固定
校验结果
前端获取到 token
后,将 token
上传到业务服务器。
业务服务器根据 token
向智能风控服务器发起校验,查询结果
更多接入细节见智能风控服务端接入文档。
协议保护
通过数据签名与数据加密/数据解密,防止通信数据被分析,被篡改,被攻击,保护应用/游戏的通信安全。
需要在初始化的时候,传入对应的.wasm.br
文件的绝对路径。
对应的.wasm.br
文件,请联系易盾获取详细说明文档。
初始化
const pt = createProtector({ productId: '<PRODUCT_ID>', timeout: 6000, wasmPath: '<WASM_PATH>'})
其中:
productId
是应用标识,对应易盾控制台中的产品编号,YD开头
timeout
数据上报超时时间,单位 ms,默认 6000
wasmPath
sdk提供的wasm文件的绝对路径,比如 /pages/index/example.wasm.br
数据签名
pt.htpSign('<alg>','<version>','<data>')
.then(result => {
console.log(result)
})
其中:
alg
签名算法。具体值请联系易盾获取详细说明文档。格式为number
version
算法版本。具体值请联系易盾获取详细说明文档。格式为number
data
签名的数据。格式为string
数据加密
保护数据内容的机密性。
pt.safeCommToServer('<alg>','<version>','<data>')
.then(result => {
if (result.code === 200) { // 正常情况
alert('enc:', result.data)
} else { // 异常情况
alert('当前环境异常')
}
})
其中:
alg
签名算法。具体值请联系易盾获取详细说明文档。格式为number
version
算法版本。具体值请联系易盾获取详细说明文档。格式为number
data
加密的数据。格式为string
数据解密
保护数据内容的机密性。
pt.safeCommFromServer('<alg>','<data>')
.then(result => {
if (result.code === 200) { // 正常情况
alert('dec:', result.data)
} else { // 异常情况
alert('当前环境异常')
}
})
其中:
alg
签名算法。具体值请联系易盾获取详细说明文档。格式为number
data
解密的数据。格式为string