【发布时间】:2023-03-27 23:49:01
【问题描述】:
我已经配置了一个 webhook,当应用程序中发生事件时,会调用 url,但我没有在调用中获取任何数据。
根据其文档
为了增加安全性,发送到 OAuth 授权的应用程序的 webhook 都经过签名,因此可以验证它们来自 Vend 并且在传输过程中未更改。基于散列的消息验证码用于签名。如果 webhook 请求包含如下标头,则应用程序可以验证请求。
X-Signature: signature=897hRT893qkA783M093ha903f,algorithm=HMAC-SHA256
为此,请通过散列 webhook 请求正文生成签名,并将其与标头中的签名进行比较以获得完全匹配。使用标头中指定的算法和应用程序的 client_secret 作为哈希键。
参考 - https://docs.vendhq.com/tutorials/guides/webhooks/introduction
我有密钥,但我不确定如何通过散列 webhook 请求正文来生成签名?
有什么想法吗?
谢谢
【问题讨论】:
-
我不确定文档的含义以及获取数据需要做什么。
-
我检查了文档,我的结论是其中缺少数据。至少,必须告诉您如何生成哈希(他们使用的是哪个库)。也许是github.com/entronad/crypto-es#HMAC,但不确定。另一方面,如果他们无法确保他们将发送 WebHook,我将不会使用它。