У меня есть приложение для видеочата, которое я встроил в реагирующее / нод с помощью программируемого видео Twilio. Он работает и отлично работает.
Я хочу добавить функцию чата, чтобы участники видеоконференции в одной комнате могли общаться друг с другом с помощью программируемого чата Twilio.
У меня все закодировано и работая так, как я этого хочу, я получаю сообщение об ошибке неверного токена Twilio в функции ЧАСТА, когда я пытаюсь использовать его в браузере:
Как видите, токен, который я генерирую, подходит для доступа к видео, но ему просто не предоставляется доступ к чату.
Вот код, который я использую для генерации токена. , Обратите внимание, что я делаю 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'));
Что я делаю не так?
Дополнительные примечания: я могу сгенерировать только токен для видео или просто токен для чата с небольшими изменениями в коде для удаления одного сервиса. Так что, похоже, работает на любой или. Он просто не работает при попытке создать один токен, который предоставляет доступ к обоим.