熵基智联 熵基智联
首页
  • 平台介绍
  • 快速入门
  • 开发指南
  • 开通熵基智联
  • API列表
  • 附录
首页
  • 平台介绍
  • 快速入门
  • 开发指南
  • 开通熵基智联
  • API列表
  • 附录
  • 产品概述
  • 快速入门

    • 接入指南
    • 第三方平台回调配置
      • 1. 回调服务什么时候需要
      • 2. 回调服务需要哪些配置
      • 3. 验证第三方平台回调地址
      • 4. 获取熵基智联推送平台的IP段
  • 开发指南

  • 开关熵基智联

  • API列表

  • 附录

  • 文档
  • 快速入门
2022-09-05
目录

第三方平台回调配置

# 1. 回调服务什么时候需要

在集成与开发者第三方应用系统时,需要搭建一个回调服务。

可以实现:

  • # 告警事件实时推送

    比如,当设备有告警事件产生的时候,可以较实时地将设备异常信息推送给第三方应用系统。

  • # 识别事件实时推送

    比如,人员通过设备身份核验识别的时候,可以较实时地将设备异常信息推送给第三方应用系统。

# 2. 回调服务需要哪些配置

image-20201203170547514

配置回调服务,需要有三个配置项,分别是:回调URL, Token, EncodingAESKey。

回调URL:

​ URL为开发者设置回调服务地址,用于接收通知消息或者事件。

Token:

​ Token用于计算签名,由英文或数字组成且长度不超过32位的自定义字符串。开发者提供的URL是公开可访问的,这就意味着拿到这个URL,就可以往该链接推送消息。那么URL服务需要解决两个问题:

  • 如何分辨出是否为熵基智联来源
  • 如何分辨出推送消息的内容是否被篡改

通过数字签名就可以解决上述的问题。

具体为:

  1. 约定Token作为密钥,仅开发者和熵基智联知道,在传输中不可见,用于参与签名计算。
  2. 和熵基智联在推送消息时,将消息内容与Token计算出签名。
  3. 开发者接收到推送消息时,也按相同算法计算出签名。
  4. 如果为同一签名,则可信任来源为熵基智联,并且内容是完整的。
  • 如果非熵基智联来源,由于攻击者没有正确的Token,无法算出正确的签名;
  • 如果消息内容被篡改,由于开发者会将接收的消息内容与Token重算一次签名,该值与参数的签名不一致,则会拒绝该请求。

1607392304846_image.png

EncodingAESKey:

​ EncodingAESKey用于消息内容加密,由英文或数字组成且长度为16位的自定义字符串。由于消息是在公开的因特网上传输,消息内容是可被截获的,如果内容未加密,则截获者可以直接阅读消息内容。若消息内容包含一些敏感信息,就非常危险了。EncodingAESKey就是在这个背景基础上提出,将发送的内容进行加密,并组装成一定格式后再发送。

1607392334318_image.png

URL服务验证签名通过后,需要将POST数据解密,就可以得到对应的业务消息明文。

# 3. 验证第三方平台回调地址

假设开发者接收推送数据的URL设置为 https://api.3rd.com/receive.

开发者在控制台保存回调配置信息时,熵基智联会发送一条验证消息到填写的URL,请求内容如下:

请求方式: Get
请求地址: https://api.3rd.com/receive?sign=XXXXXXXXX&timestamp=XXXXXXXX&nonce=XXXXXXXX&echo=XXXXXXXXXXXXXX

参数说明:

参数 类型 说明
sign String 加密签名,token为开发者回调配置. sign = MD5-32 (token+timestamp+nonce),MD5加密,32位小写.
timestamp Long 当前Unix时间戳(毫秒),用于防止请求重放攻击(时间戳有效期为5分钟)
nonce String 8位长度字符串随机数。与timestamp结合使用,用于防止请求重放攻击
echo String 加密的字符串,需要将解密后echo明文返回,以便验证合法性。

回调服务需要作出正确的响应才能通过URL验证,具体操作如下:

1.对收到的请求,解析上述的各个参数值;

2.根据已有的token,结合第1步获取的参数timestamp, nonce,重新计算签名,然后与参数sign检查是否一致,确认调用者的合法性;

3.响应GET请求, 需要将解密后echo明文返回 解密算法: 详见 加解密算法 , 其中解密因子:sSrc=echo, cKey=appKey, cIv=encodingAESKey, 如果不符合要求,则认为失败.

# 4. 获取熵基智联推送平台的IP段

熵基智联在回调第三方平台指定的URL时,是通过特定的IP发送出去的。如果第三方平台需要做防火墙配置,那么可以通过这个接口获取到所有相关的IP段。建议三方平台每天定时拉取IP段,更新防火墙设置,避免因IP段变更导致网络不通。

请求方式: Get
请求地址: https://api.zkbiocloud.com/open/edu/global/v1/channel/ip

返回结果:

{
    "code": "00000000",
    "payload": {
        "results": [
            "192.168.6.4",
            "192.168.6.5"
        ]
    }
}
1
2
3
4
5
6
7
8
9
接入指南
平台基本概念

← 接入指南 平台基本概念→

最近更新
01
记录快照管理
09-28
02
请假外出记录管理
06-14
03
教职工管理
09-14
更多文章>
Theme by Vdoing | Copyright © -2025 熵基智联 | Copyright © 2021 ZKTECO CO., LTD. All rights reserved.
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式