node.js - Twilio 检查验证令牌 API+邮递员超时
问题描述
我正在使用 nodejs 使用 Twilio 设置电话身份验证......一切都按预期工作,除了验证令牌时。以下是我正在使用的功能:
verifyPhone: function (req, res) {
client.verify.services('VAxxxxxxxxxxxxxxxx')
.verificationChecks
.create({ to: '+15017122661', code: '123456' })
.then(function (err, verification_check) {
if (err) {
res.status(500).send(err);
} else if (verification_check ==='approved') {
res.status(200).send('Account Verified');
}
})
}
我正在检查邮递员中的端点,它正在超时而没有响应。
当我在 twilio 门户中签入时,号码状态更改为已批准。
知道为什么没有出现响应。
顺便说一句,我关闭了 SSL 证书
谢谢,
解决方案
下面的 Twilio 函数 JavaScript 对我有用。
由于验证 v2 相对较新,因此请确保您的 Twilio Helper 库是最新的,https://github.com/twilio/twilio-node/releases。
执行函数的示例(我为我的 Twilio 函数关闭了检查有效的 Twilio 签名来演示这个):
(运行函数的示例 URL): https ://mango-abcdef-1234.twil.io/v2start?phoneNumber=%2b15555551234&code=720732
exports.handler = function(context, event, callback) {
const client = context.getTwilioClient();
const code = event.code;
let phoneNumber = event.phoneNumber;
client.verify.services('VAxxxxxxxxxxxxxxxx')
.verificationChecks
.create({to: phoneNumber, code: code})
.then(verification_check => {
console.log(`***VERIFICATION STATUS***: ${verification_check.status}`);
callback(null, `${verification_check.status}`);
})
.catch(err => {
console.log(err);
callback();
});
};
还有最近关于这个主题的博客。
推荐阅读
- cassandra - Cassandra Scaling:为多节点 Cassandra DB 使用通用挂载是个好主意吗?
- r - 在 R 中将列表转换为 CSV
- sql - 将零数组插入配置单元
- java - Firestore order by 和 limit 在 kotlin 中不起作用
- asp.net-core - 如何挑战 OIDC 从 Web API 登录
- reactjs - 反应原生,无法访问数组中的元素
- json - 列表索引必须是整数或切片,而不是 str python3.6
- android - Android颤振的flutter_webview_plugin插件的webview显示加载指示器,没有别的
- javascript - Dialogflow - Heroku JS 集成
- javascript - 无法匹配 SWIFT 消息中的多行内容 (RegEx)