Twanio developer evangelist здесь.
Кажется, что что-то не так с генерацией вашего токена, когда вы получаете сообщение об ошибке при попытке создать клиент чата.
Код, который вы используете дляГенерировать токен в основном правильно, хотя и немного устарело.Теперь мы можем использовать ChatGrant
вместо IpMessagingGrant
, и больше нет необходимости включать endpointId
.Я бы обновил вашу функцию:
exports.handler = function(context, event, callback) {
let identity = event.identity;
let AccessToken = Twilio.jwt.AccessToken;
let ChatGrant = AccessToken.ChatGrant;
let chatGrant = new ChatGrant({
serviceSid: context.CHAT_SERVICE_SID,
pushCredentialSid: context.CHAT_PUSH_CREDENTIAL_SID
});
const accessToken = new AccessToken(
context.ACCOUNT_SID,
context.CHAT_TWILIO_API_KEY,
context.CHAT_TWILIO_API_SECRET
);
accessToken.addGrant(chatGrant);
accessToken.identity = identity;
callback(null, { token: accessToken.toJwt() });
};
Также я бы подтвердил, что вы правильно установили следующие переменные среды в конфигурации функции: CHAT_SERVICE_SID
, CHAT_PUSH_CREDENTIAL_SID
, ACCOUNT_SID
, CHAT_TWILIO_API_KEY
и CHAT_TWILIO_API_SECRET
.
Если какой-либо из них отсутствует или неверен, ваш токен будет недействительным.
Дайте мне знать, как это происходит.