签名说明
由于 XT 需要为第三方平台提供一些开放接口,必须考虑数据安全问题。例如:
- 数据是否被篡改
- 数据是否已过期
- 数据是否可以重复提交
- 接口访问频率是否超限
其中,数据是否被篡改是最重要的。
规则
-
AppKey & SecretKey 请先在用户中心申请
appkey
和secretkey
。每个用户的appkey
和secretkey
都不相同。 -
时间戳 其值应为发送请求时的 Unix 时间戳(毫秒)。数据有效性基于此值计算。
-
签名 添加
signature
,其值通过签名算法的特定规则获得。 -
RecvWindow 定义请求的有效时间。
- 服务器检查时间戳是否在 2s 到 60s 之间。
- 超过 5000ms 的请求无效。
- 如果客户端时间戳超前服务器时间 >1s,请求无效。
- 不建议超过 5s。
- 高频交易可以调整
recvWindow
。
-
算法 签名使用哈希协议计算。推荐:HmacSHA256。支持:
HmacMD5
、HmacSHA1
、HmacSHA224
、HmacSHA256
、HmacSHA384
、HmacSHA512
。
签名参数
名称 | 必填 | 示例 | 描述 |
---|---|---|---|
validate-appkey | 是 | dbefbc809e3e83c283a984c3a1459732ea7db1360ca80c5c2c8867408d28cc83 | 用户的 AppKey |
validate-timestamp | 是 | 1641446237201 | Unix 时间戳(毫秒) |
validate-signature | 是 | 0a7d0b5e802eb5e52ac0cfcd6311b0faba6e2503a9a8d1e2364b38617877574d | 生成的签名 |
validate-recvwindow | 是 | 5000(毫秒) | 请求有效时间窗口 |
validate-algorithms | 是 | HmacSHA256 | 支持:HmacMD5、HmacSHA1、HmacSHA224、HmacSHA256、HmacSHA384、HmacSHA512 |
validate-signversion | 否 | 1.0 | 保留字段,签名版本号 |