问题描述
我目前正在使用twilio语音处理Node.js(带有Express)应用程序。 我想使用webhooks保护应用程序的端点。
我想使用Twilio SDK提供的webhook中间件来保护/ api / getPin路由,并遵循以下文档:https://www.twilio.com/docs/usage/tutorials/how-to-secure-your-express-app-by-validating-incoming-twilio-requests
我的编码如下所示(我将凭据存储在环境变量中):
require('dotenv').config();
const express = require('express');
const bodyParser = require('body-parser');
const TwilioClient = require('twilio')(process.env.TWILIO_ACCOUNT_SID,process.env.TWILIO_AUTH_TOKEN);
const app = express();
app.use(bodyParser.urlencoded({extended: true}));
app.post('/api/getPin',TwilioClient.webhook(),async (req,res) => {
try {
// Logic to get entered pin
} catch (err) {
res.status(500).json({success: false,message: err.message});
}
});
仅当将身份验证中间件添加到路由时,该逻辑才能正常工作,我得到以下错误:
app.post('/api/getPin',res) => {
^
TypeError: TwilioClient.webhook is not a function
at Object.<anonymous> (/var/www/html/twilio/server/index.js:299:38)
at Module._compile (internal/modules/cjs/loader.js:778:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
at Module.load (internal/modules/cjs/loader.js:653:32)
at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
at Function.Module._load (internal/modules/cjs/loader.js:585:3)
at Function.Module.runMain (internal/modules/cjs/loader.js:831:12)
at startup (internal/bootstrap/node.js:283:19)
at bootstrapNodeJSCore (internal/bootstrap/node.js:622:3)
[nodemon] app crashed - waiting for file changes before starting...
我的实现中有什么问题?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)