签名
为确保 WebHook 正文未被篡改,您应请求与事件一起发送一个 Event-Signature
头文件。
这包含了一个从 shared secret
和 WebHook 正文本身生成的基于哈希的消息验证码 (
请联系您的实施经理,以便启用 Event-Signature
头文件并接收 shared secret
。
验证
第 1 步
从入站事件 WebHook 请求中提取 Event-Signature
HTTP(S) 头文件。
- 可包含多个签名(逗号分隔)
- 签名顺序可更改,因此务必要使用 keyId。
Event-Signature
Copied!
Event-Signature:1/SHA256/XXXXXXXXXX
Event-Signature:1/SHA256/XXXXXXXXXX
Event-Signature:1/SHA256/XXXXXXXXXXXXXX,2/SHA256/YYYYYYYYYYYYYY
Event-Signature:1/SHA256/XXXXXXXXXXXXXX,2/SHA256/YYYYYYYYYYYYYY
格式
Copied!
Event-Signature:{keyId}/{hashFunction}/{signature}
Event-Signature:{keyId}/{hashFunction}/{signature}
第 2 步
接受 WebHook 和共享密码,然后使用 hashFunction
来生成 HMAC 签名。
第 3 步
将您在 (step 2)
中生成的 HMAC 签名与在Event-Signature
signature
进行比较。
- 签名匹配 - 以
200
HTTP(S) 状态代码进行响应。 - 签名不匹配 - 放弃 Webhook 正文,然后返回
400
HTTP(S) 状态代码。 - 未收到签名(您已设置 HMAC)- 返回
400
HTTP 状态代码。