网易易盾智能风控web端接入文档

2026.08.04 11:36:11

    适用于SDK版本从 2.3.0 开始以及后续版本号不带-pro 的版本

    接入步骤

    引入/安装js SDK

    Web

    建议直接通过 script 引入, 将放在初始化代码之前

    <script src="./YiDunProtector-Web.js"></script>
    

    uni-app(H5)

    import createNEGuardian from  './YiDunProtector-Web.js'
    

    初始化SDK

    执行SDK初始化。

    const neg = createNEGuardian({ productId: '<PRODUCT_ID>', timeout: 6000 }, function (code, msg) {
    
    })
    

    其中:

    productId 是应用标识,对应易盾控制台中的产品编号,YD开头

    timeout 数据上报超时时间,单位 ms,默认 6000

    callback 异步流程回调。

    code msg 说明
    200 Success 流程内token获取成功
    109 Init Repeat 重复初始化
    199 ProductId invalid 产品ID错误

    注:不可用的productId会导致服务端鉴权接口失败,请确保productId是正常可用的。

    私有化初始化SDK

    执行SDK初始化。

    const neg = createNEGuardian({ productId: '<PRODUCT_ID>', apiServer:'https://xxxxx.xxxx.xxxx', timeout: 6000 }, function (code, msg) {
    
    })
    

    其中:

    productId 是应用标识,对应易盾控制台中的产品编号,YD开头

    apiServer 私有化服务器地址,私有化的客户需要通过该接口设置服务器地址,其他客户可以忽略

    timeout 数据上报超时时间,单位 ms,默认 6000

    callback 异步流程回调。

    code msg 说明
    200 Success 流程内token获取成功
    109 Init Repeat 重复初始化
    199 ProductId invalid 产品ID错误

    注:不可用的productId会导致服务端鉴权接口失败,请确保productId是正常可用的。

    同步获取 Token

    const {code, token} = neg.getToken()
    
    code token说明
    200 正常模式,数据正常上报到设备指纹服务端,token 长度固定
    201 离线模式,数据上报过程中出现异常,比如网络抖动/超时等,token 长度不固定
    202 当前获取过程异常,此时 token 为空字符串

    缓存 token 在缓存时长内二次加密后立即返回;无缓存或缓存已过期时返回降级 token,效果与短 token 一致,正常送检即可。并同时触发后台异步刷新。

    注意:此时 token 可能因为初始化回调未完成而导致错误码202,为保证 token 完整获取,请保证同步获取的时候初始化回调是完成状态。

    异步获取 Token

    neg.getTokenAsync().then(result => {
      if (result.code === 200) { // 正常情况
        alert('get token:', result.token)
      }
      if (result.code === 201) { // 离线模式
        alert('get token:', result.token)
      }
    })
    

    每次实时采集数据并上报,完成后返回最新 token,属于耗时操作。

    getTokenAsync 返回有两种模式:

    • 正常模式,数据正常上报到设备指纹服务端,token 长度固定
    • 离线模式,数据上报过程中出现异常,比如网络抖动/超时等,token 长度不固定,效果与短 token 一致,正常送检即可

    校验结果

    前端获取到 token 后,将 token 上传到业务服务器。 业务服务器根据 token 向智能风控服务器发起校验,查询结果 更多接入细节见智能风控服务端接入文档。

    协议保护

    通过数据签名与数据加密/数据解密,防止通信数据被分析,被篡改,被攻击,保护应用/游戏的通信安全。 对应的irisk_bg.wasm文件,请联系易盾获取详细说明文档。

    协议模块集成

    获取协议文件irisk_bg.wasm与智能风控文件YiDunProtector-Web.js。

    协议集成代码

    node环境下,执行以下内容。

    const fs = require('fs');
    
    // irisk_bg.wasm文件的绝对路径
    const wasm_path = 'irisk_bg.wasm';
    // 智能风控文件的绝对路径
    const web_sdk_path = 'YiDunProtector-Web.js';
    const contents = fs.readFileSync(wasm_path, null);
    const base64Encoded = Buffer.from((contents)).toString('base64');
    const web_sdk_param = fs.readFileSync(web_sdk_path, null);
    fs.writeFileSync(web_sdk_path, web_sdk_param.toString().replace('\'AGFzbQEAAAABfhFgAABgAX8AYAF\'',
      '\'' + base64Encoded + '\''));
    console.log("替换成功")
    

    数据签名

    验证数据来源和完整性。

    neg.htpSign('<alg>','<version>','<data>')
      .then(result => {
        console.log(result)
      })
    

    其中:

    alg 签名算法。具体值请联系易盾获取详细说明文档。格式为number

    version 算法版本。具体值请联系易盾获取详细说明文档。格式为number

    data 签名的数据。格式为string

    数据加密

    保护数据内容的机密性。

    neg.safeCommToServer('<alg>','<version>','<data>')
      .then(result => {
        if (result.code === 200) { // 正常情况
          alert('enc:', result.data)
        } else { // 异常情况
          alert('当前浏览器版本较低')
        }
      })
    

    其中:

    alg 签名算法。具体值请联系易盾获取详细说明文档。格式为number

    version 算法版本。具体值请联系易盾获取详细说明文档。格式为number

    data 加密的数据。格式为string

    数据解密

    保护数据内容的机密性。

    neg.safeCommFromServer('<alg>','<data>')
      .then(result => {
        if (result.code === 200) { // 正常情况
          alert('dec:', result.data)
        } else { // 异常情况
          alert('当前浏览器版本较低')
        }
      })
    

    其中:

    alg 签名算法。具体值请联系易盾获取详细说明文档。格式为number

    data 解密的数据。格式为string

    在线咨询 电话咨询:95163223 免费试用