我需要设置一个 PHP 页面来接收 Webhook - 我过去做过很多这样的事情,所以这不是问题,但是我正在为这个项目使用的 API 要求我的 webhook 验证标题中提供的签名.
作为验证请求的一部分,它将发送以下内容:
HEADER:
"x-xero-signature" : HASH_VALUE
PAYLOAD:
{
"events": [],
"lastEventSequence": 0,
"firstEventSequence": 0,
"entropy": "S0m3r4N0m3t3xt"
}
我已经创建了一个 Webhook 密钥(例如“ABC123”),并且作为此 Webhook 验证请求的一部分,我必须确保使用 HMACSHA256 和您的 webhook 密钥和 base64 编码的有效负载应该与标头中的签名匹配。这是一个正确签名的有效载荷。如果签名与散列的有效负载不匹配,则它是一个错误签名的有效负载。
为了获得 Intent to Receive 验证,接收 url 必须以 status: 200 Ok 响应所有正确签名的有效负载,并以 status: 401 Unauthorized 响应所有未正确签名的有效负载。
在这一点上,我对如何进行此操作有点迷茫-可以在此处找到此设置的详细信息:
https://developer.xero.com/documentation/getting-started/webhooks