使用 NodeJS 在 Lambda 上验证 Trello Webhook 签名

问题描述

我正在验证来自 Trello 的网络钩子签名。它总是返回 false。

Trello 确定以下代码将起作用:

var crypto = require("crypto");

function verifyTrelloWebhookRequest(request,secret,callbackURL) {
  var base64Digest = function (s) {
    return crypto.createHmac("sha1",secret).update(s).digest("base64");
  };
  var content = JSON.stringify(request.body) + callbackURL;
  var doubleHash = base64Digest(content);
  var headerHash = request.headers["x-trello-webhook"];
  return doubleHash == headerHash;
}

来源:https://developer.atlassian.com/cloud/trello/guides/rest-api/webhooks/

在 AWS API 网关中,我打开了代理 lambda。当我传递事件(下面代码中的请求)、秘密和回调 URL 时,这两个值总是不同的。

我认为应该作为密钥传递的值是 OAUTH 1.0 秘密,但这是一个内部应用程序。我已经尝试了所有我知道的秘密。

不幸的是,此时我已经用完了测试选项。任何人都有任何想法。

  • 非常感谢

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)