Translation disclaimer

Documentation is written in English and subsequently translated. This page, therefore, might not have the most up-to-date content. If any questions arise relating to the accuracy of the translated content, please refer to the English version of the page.

Menu

签名

为确保 WebHook 正文未被篡改,您应请求与事件一起发送一个 Event-Signature 头文件。

这包含了一个从 shared secret 和 WebHook 正文本身生成的基于哈希的消息验证码 (HMAC)。

请联系您的实施经理,以便启用 Event-Signature 头文件并接收 shared secret

验证

第 1 步

从入站事件 WebHook 请求中提取 Event-Signature HTTP(S) 头文件。

  • 可包含多个签名(逗号分隔)
  • 签名顺序可更改,因此务必要使用 keyId。

Event-Signature

Copied!
Event-Signature:1/SHA256/XXXXXXXXXX
Event-Signature:1/SHA256/XXXXXXXXXXXXXX,2/SHA256/YYYYYYYYYYYYYY

格式

Copied!
Event-Signature:{keyId}/{hashFunction}/{signature}
参数描述
keyId用于消息签名的 shared secret 的数字参考号。如果生成新的签名,则 keyId 值会变化/递增。
hashFunction用于创建HMAC的加密哈希值函数。当前支持:
signature基于哈希的消息身份验证代码 (HMAC)。使用 hashFunction 从 WebHook 正文和共享密码中生成。

第 2 步

接受 WebHook 和共享密码,然后使用 hashFunction 来生成 HMAC 签名。

第 3 步

将您在 (step 2) 中生成的 HMAC 签名与在Event-Signature头文件中收到的 signature 进行比较。

  • 签名匹配 - 以 200 HTTP(S) 状态代码进行响应。
  • 签名不匹配 - 放弃 Webhook 正文,然后返回 400 HTTP(S) 状态代码。
  • 未收到签名(您已设置 HMAC)- 返回 400 HTTP 状态代码。