Bot Framework V4 NodeJS:Twilio WhatsApp Adapter签名验证失败求助
Twilio WhatsApp Adapter 请求验证失败问题(基于Bot Framework V4 NodeJS)
我基于Bot Framework V4 NodeJS,使用Twilio WhatsApp Adapter将Twilio作为聊天机器人渠道。目前WhatsApp发送给Twilio的消息可以正常作为请求送达聊天机器人,但机器人内的请求验证持续失败。
代码示例
const { TwilioWhatsAppAdapter } = require('@botbuildercommunity/adapter-twilio-whatsapp'); const whatsAppAdapter = new TwilioWhatsAppAdapter({ accountSid: '<Sid from Twilio console >', authToken: '<Auth token from Twilio console>', phoneNumber: '<phone number from Whatsapp Sandbox settings in Twilio>', endpointUrl: 'url from Sandbox setting in Twilio' });
适配器验证相关代码
适配器依赖Twilio模块,但Twilio.validateRequest始终返回false,相关验证代码如下:
const signature = req.headers['x-twilio-signature'] || req.headers['X-Twilio-Signature']; const authToken = this.settings.authToken; const requestUrl = this.settings.endpointUrl; const message = await this.retrieveBody(req); return Twilio.validateRequest(authToken, signature, requestUrl, message);
已排查信息
- 使用的
endpointUrl参数值:https://mybot.azurewebsites.net/api/whatsapp/messages - 尝试过的
phoneNumber格式均未成功:whatsapp:+1XXXXXXXXXXwhatsapp:1XXXXXXXXXX+1XXXXXXXXXX1XXXXXXXXXX
- 已确认的排查点:
- 请求中存在有效的
x-twilio-signature请求头 - 核对过
Twilio.validateRequest所需的authToken、signature、requestUrl及message参数,参数值看似无问题,但方法仍返回false
- 请求中存在有效的
希望能获得相关指导,否则我将尝试调试该模块,感谢。
内容的提问来源于stack exchange,提问作者Hessel
相关产品推荐
相关产品推荐

