保护 Twitter Webhook
Securing Twitter Webhook
如Twitter Docs所述
验证请求的步骤
- 使用您的消费者密码和传入的有效负载创建哈希 [=29=]。
- 将创建的哈希与 base64 编码的 x-twitter-webhooks-signature 值进行比较。
这是我的代码:
const buffer = Buffer.from(JSON.stringify(ctx.request.body))
const expectedHash = crypto.createHmac('sha256', TWITTER_CONSUMER_SECRET).update(buffer).digest('base64')
来自推特的 x-twitter-webhooks-signature
header 和生成的散列不匹配。此外,https://twittercommunity.com/t/validating-the-webhook-signature-header-in-node-js/102525 处的 post 表示这是 JSON.stringify()
问题。我正在使用 koa 和 koa-body,如何解决哈希不匹配问题?
找到解决办法。使用 koa-bodyparser
而不是 koa-body
然后 sha256
of ctx.request.rawBody
匹配 header.
如Twitter Docs所述 验证请求的步骤
- 使用您的消费者密码和传入的有效负载创建哈希 [=29=]。
- 将创建的哈希与 base64 编码的 x-twitter-webhooks-signature 值进行比较。
这是我的代码:
const buffer = Buffer.from(JSON.stringify(ctx.request.body))
const expectedHash = crypto.createHmac('sha256', TWITTER_CONSUMER_SECRET).update(buffer).digest('base64')
来自推特的 x-twitter-webhooks-signature
header 和生成的散列不匹配。此外,https://twittercommunity.com/t/validating-the-webhook-signature-header-in-node-js/102525 处的 post 表示这是 JSON.stringify()
问题。我正在使用 koa 和 koa-body,如何解决哈希不匹配问题?
找到解决办法。使用 koa-bodyparser
而不是 koa-body
然后 sha256
of ctx.request.rawBody
匹配 header.