【问题标题】:Securing Twitter Webhook保护 Twitter Webhook
【发布时间】:2018-11-14 07:46:52
【问题描述】:

Twitter Docs 中所述 验证请求的步骤

  1. 使用您的消费者机密和传入的有效负载正文创建一个哈希。
  2. 将创建的哈希值与 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')

来自 twitter 的 x-twitter-webhooks-signature 标头与生成的哈希不匹配。此外,https://twittercommunity.com/t/validating-the-webhook-signature-header-in-node-js/102525 的帖子说这是JSON.stringify() 问题。我正在使用 koa 和 koa-body,如何解决哈希不匹配问题?

【问题讨论】:

    标签: node.js twitter webhooks koa


    【解决方案1】:

    找到了解决办法。使用koa-bodyparser 而不是koa-body 然后sha256ctx.request.rawBody 与标题匹配。

    【讨论】:

      猜你喜欢
      • 2020-03-25
      • 2017-04-04
      • 2019-01-30
      • 2015-09-11
      • 2011-11-15
      • 2016-05-04
      • 2018-03-18
      • 2019-03-01
      • 1970-01-01
      相关资源
      最近更新 更多