生成的访问令牌对演示视频应用程序无效

时间:2017-04-13 18:54:15

标签: node.js twilio

我正在使用从GitHub中提取的示例视频应用程序。我正在使用node.js服务器为示例应用程序提供访问令牌。当我使用Twilio控制台生成视频访问令牌并将其作为文字放入我的Node.js服务器并返回它时,我能够运行示例应用程序并连接到一个房间。如果我在Node.js服务器中使用示例令牌生成代码,则会在Room.Listener中的onDisconnected方法的异常中返回“无效访问令牌”。

以下代码是服务器中运行的用于创建访问令牌的代码,我还发现了一个不同的示例,我也尝试过。我已经回过头来验证我的帐户SID和API密钥的数据值是否正确。我有一个类似的方法运行返回VoiceGrant访问令牌,这是有效的,但关于这个VideoGrant的一些是关闭的,我只是没有看到它。

// ***********************************************************************************
// ***********************************************************************************
// Video Access Token
// ***********************************************************************************
// ***********************************************************************************
var videoCallAccessToken = function(request, response) {
        console.log('/twilio/video/accessToken');
        var accessToken = makeVideoAccessToken();
        response.writeHead(200, {'Content-Type': 'text/plain'});
        response.end(accessToken);
        console.log(accessToken);
};

app.get('/twilio/video/accessToken', videoCallAccessToken);

var makeVideoAccessToken = function() {
        const AccessToken = twilio.AccessToken;
        const VideoGrant = AccessToken.VideoGrant;
        const grant = new VideoGrant({configurationProfileSid: accountData.videoConfigurationProfileSid});
        const accessToken = new AccessToken(accountData.sid, accountData.videoApiSid, accountData.videoApiSecret);
        accessToken.identity = 'ABC123';
        accessToken.addGrant(grant);
        return accessToken.toJwt();
};

仅供参考...我计划改变身份的产生,但尚未到达那里。

谢谢,

1 个答案:

答案 0 :(得分:1)

从我的评论中添加这个作为解决问题的答案,问题是示例代码存在缺陷......

好吧,以为我在实际发送之前已经等了足够长的时间,但显然没有。问题是该示例不起作用,传递给VideoGrant构造函数的值需要引用属性名称,因此{configurationProfileSid:accountData.videoConfigurationProfileSid});需要{' configurationProfileSid&#39 ;: accountData.videoConfigurationProfileSid});很高兴我终于发现,浪费了大量的时间,但至少它现在正常工作。