#
1 代理接入代理服务器主要任务是接收 smsdk 请求数据,按照业务要求是否需要解密设备数据,将数据透传给数美设备指纹服务器,然后将设备指纹服务响应数据透传给 smsdk。
#
1.1 构造请求参数请求方式 POST
请求域名:代理服务器需要根据业务机房区域请求对应数美设备指纹服务器
请求 Header:将 smsdk 上传的真实 IP、X-Forwarded-For、User-Agent 放置在 HTTP Header 中
参数 来源 X-Real-IP 客户端真实 IP,避免使用中转服务器的 IP X-Forwarded-For 客户端请求 X-Forwarded-For,将代理服务 IP 放置末端 User-Agent 客户端真实 User-Agent,避免使用中转服务器的 UA 注意:SDK发出的请求,头部信息中Content-Type为application/octet-stream
请求 Body:即 smsdk 上报的 Body 数据
#
1.2 处理器响应成功数据:code 为 1100
直接将此类响应透传给 smsdk 即可
失败数据:code 非 1100,如
直接将此类响应透传给 smsdk 即可,返回码及处理说明
code 说明 1100 成功,不需要处理 1901 QPS 超限,通知数美客服,调整 QPS 限制 1902 smsdk 参数不合法,需要在端上检查 smsdk 配置是否正确,或提供对应 requestId 联系数美技术排查 1903 服务失败,需要联系数美技术排查问题,需要提供对应 requestId 9101 无权限操作,联系数美客户确认是否开通相应服务 无响应或响应超时:代理服务请求数美服务器出现连接失败,如握手失败、超时等问题时,可将下列内容传给客户端
客户端 SDK 遇到 1903 错误码后,会进行重试。
#
1.3 解密设备数据代理服务器接收到 smsdk 上报数据,需要根据 os
字段判断平台,然后使用 设备指纹解密工具 + 对应平台秘钥 进行解密,示例数据
设备指纹解密工具,默认提供 Java、Go 版本,如果需要其它语言 SDK,请联系数美工作人员,具体使用方式参考设备指纹解密工具 API 文档,以下是 Java 版本工具 SmFpCrypto.decrypt
使用方法
#
2 设备指纹标识解密boxId、boxData 需要解密才可以当做设备标识。
boxId 解密工具默认提供 Java、Go 版本,禁止将解密工具放到终端(如 Android 端、iOS 端)进行解密,如果需要其它语言 SDK,请联系数美工作人员,具体使用方式参考 boxId 解密工具 API 文档,以下是 Java 版本工具 BoxIdTranslator.outputSmid
使用方法
boxData 解密需要使用天象服务,需要联系数美工作人员开通相关服务。开通服务后,根据天象使用手册请求设备风险标签,返回数据中包含明文设备指纹标识。
如果天象数据中没有设备指纹标签,需要给数美工作人员提供 boxData 和 requestId 进行问题排查。