尝试生成一个单一的twilio令牌,该令牌可以同时访问视频和聊天

时间:2020-04-02 17:21:22

标签: node.js reactjs twilio twilio-programmable-chat

我有一个现有的视频聊天应用程序,我使用Twilio可编程视频内置了react / node。它在生产中并且运行良好。

我想添加聊天功能,以便同一会议室中的视频会议与会者可以使用Twilio可编程聊天相互聊天。

我已经对所有内容进行了编码,并按需要工作,但是,当我尝试在浏览器中使用聊天功能时,只是聊天功能,我收到了一条错误的Twilio令牌错误消息:

screenshot

如您所见,我生成的令牌可以用于视频访问,但似乎没有被授予聊天访问权限。

这是我用来生成令牌的代码。请注意,我正在为同一令牌中的聊天和视频执行addGrant。我得到一个令牌就好了,所以我假设支持此方法。但是,出于某种原因,令牌似乎不具有来自Twilio的聊天访问权限。

//Handle Twilio Token Generation
app.get('/token', (req, res) => {
    const { identity, roomName } = req.query;
    const token = new AccessToken(twilioAccountSid, twilioApiKeySID, twilioApiKeySecret, {
        ttl: MAX_ALLOWED_SESSION_DURATION,
    });
    token.identity = identity;

    const videoGrant = new VideoGrant({ room: roomName });
    token.addGrant(videoGrant);

    const chatGrant = new ChatGrant({
        serviceSid: twilioChatSService,
    });
    token.addGrant(chatGrant);

    res.send(token.toJwt());

    console.log(`Successfully issued Video and Chat token for ${identity} in room ${roomName}`);

    cookieMgr.set('token', token.toJwt());
});

app.get('*', (_, res) => res.sendFile(path.join(__dirname, 'build/index.html')));

app.listen(8081, () => console.log('Token server running on 8081'));

我在做什么错了?

附加说明:我可以生成视频令牌或聊天令牌,只需稍加修改即可提取一项服务。所以它似乎对要么要么起作用。尝试做一个授予对两者的访问权的令牌时,它只是无效。

0 个答案:

没有答案