如何配置Twilio WhatsApp沙箱在Webhook请求中携带Bearer Token?
解决Twilio WhatsApp Webhook携带Bearer Token的方法
Twilio本身没有专门的Bearer Token配置项,但可以通过以下两种可靠方式实现需求:
方法一:在Twilio控制台添加自定义HTTP请求头
- 登录Twilio控制台,进入WhatsApp沙箱的配置页面(或对应Messaging Service的设置界面)
- 找到「When a message comes in」的Webhook URL配置区域
- 展开高级设置(Advanced Settings),找到「HTTP POST Headers」选项
- 添加一条新请求头:
- 键:
Authorization - 值:
Bearer <你的应用认证Token>
- 键:
- 保存配置后,Twilio后续向你的Webhook地址发起请求时,会自动携带这个Authorization头部
方法二:用Twilio Functions做中间转发层
如果控制台自定义头无法满足动态Token等特殊需求,可以用Twilio Functions作为代理转发:
- 在Twilio控制台创建一个新的Function
- 编写转发逻辑,示例代码如下:
exports.handler = async function(context, event, callback) { const axios = require('axios'); const targetUrl = 'https://你的应用Webhook地址'; const bearerToken = '你的Bearer Token'; try { // 转发Twilio请求数据到目标应用,同时携带Authorization头 const response = await axios.post(targetUrl, event, { headers: { 'Authorization': `Bearer ${bearerToken}`, 'Content-Type': 'application/x-www-form-urlencoded' } }); callback(null, response.data); } catch (error) { console.error(error); callback(error); } };
- 将该Function的URL设置为Twilio WhatsApp沙箱的Webhook地址
- 保存后,Twilio会先把请求发送到这个Function,再由它携带Bearer Token转发到你的应用
注意事项
- 上线前可以用Postman模拟Twilio请求格式,验证你的应用是否能正确识别Bearer Token
- 确保Twilio的IP地址已加入你的应用防火墙白名单,避免请求被拦截
内容的提问来源于stack exchange,提问作者Vinicius Capone
相关产品推荐
相关产品推荐

