首页 > 解决方案 > 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 证书

谢谢,

标签: node.jstwiliopostman

解决方案


下面的 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();
              });
};

还有最近关于这个主题的博客。

使用 Twilio 验证和 Twilio 功能进行无服务器电话验证


推荐阅读