网易易盾智能风控支付宝小程序端接入文档

2024.11.12 11:07:45

    接入步骤

    请登录易盾官网后台风控引擎-服务管理获取SDK,详情如图image title

    引入/安装 SDK

    const createProtector = require('YiDunProtector-weapp-alipay.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文件,请联系易盾获取详细说明文档。 注意: 此功能需要在Worker线程内使用。

    初始化

    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

    Online Chat Tel:95163223 Free trial