无法验证Twilio Authy Webhook回调

问题描述

我正在尝试为Authy OneTouch推送身份验证设置Webhooks。我设法成功注册了one_touch_request_responded个事件,从订阅调用中保存了Webhook签名密钥,但是我仍然无法验证请求:任何攻击者都可以伪造伪造的请求并轻松绕过2FA检查。

API documentation令我感到困惑,因为回调请求与提到的格式不匹配(特别是它们没有X-Authy-Signature头),并且只有以下头: / p>

{
  host: 'XXX.ngrok.io','user-agent': 'Authy-api-webhooks/1.0','content-length': '2211','accept-encoding': 'gzip','content-type': 'application/json','x-forwarded-for': '3.89.35.175','x-forwarded-proto': 'http'
}

我还尝试验证JWT令牌的签名,但仍然无济于事(收到POST请求:{"body":"a_jwt_token"}):我总是得到无效的签名(与https://jwt.io/相同) )。

const jwt = require("jsonwebtoken");
jwt.verify(req.body.body,Buffer.from(MY_SECRET_KEY,"base64"),{ algorithm: ["HS256"] });

检查Webhook POST回调的真实性的正确方法是什么?

谢谢!

解决方法

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

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

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