Tokbox не удалось создать сеанс

[Error: Failed to createSession. Error: An authentication error
occurred: (403) {"code":-1,"message":"Expired token"}]

Я был в состоянии создать сеанс очень хорошо на моем локальном сервере, но когда я запустил его в производство, у которого есть https, возникает ошибка.

Я использую Tokbox с Meteor Framework. и оберните функцию внутри метода:

  const opentok = new OpenTok(Meteor.settings.public.opentok.apiKey, Meteor.settings.public.opentok.apiSecret);

  let createSessionSync = Meteor.wrapAsync(opentok.createSession, opentok); 

3 ответа

Перезагрузка наших локальных серверов разработки не устранила для нас проблему, когда мы столкнулись с этой проблемой. Оказалось, что разработчик менял настройки часового пояса на своем компьютере, и системные часы каким-то образом рассинхронизировались с сервером разработки (хотя часовой пояс был установлен на его местное время в данный момент), но позже мы поняли, что рабочий стол Docker создавал контейнеры с неправильными Дата и время. Это подтверждает комментарий @Adam Ullman выше.

Изначально мы решили эту проблему, изменив часовой пояс в системных настройках Windows. На этом этапе ошибка исчезла без перезапуска серверов. Однако см. Обновление ниже:

ОБНОВИТЬ:

Разработчик снова столкнулся с той же проблемой, и на этот раз изменение часового пояса не помогло. Мы поняли, что контейнер Docker создавался с неправильными настройками времени (мы определили это, выйдя из текущего времени в контейнере). Дата в контейнере докера отставала от времени компьютера на сутки и на несколько часов.

Важно отметить, что удаление образов и перезапуск контейнеров сами по себе не решили проблему. Кроме того, мы обнаружили, что другие токены JWT в приложении также были затронуты не только opentok.

Чтобы решить эту проблему, нам пришлось остановить Docker Desktop и перезапустить его. Это повторно синхронизировало время всех вновь созданных контейнеров с машинным временем Windows.

Перезагрузка сервера, кажется, работает, но я просто не знаю, почему создание сеанса связано с ошибкой токена, так как я еще даже не использовал токен

Я получал ту же ошибку только потому, что машинное время имело ошибку в 1 минуту. Когда я синхронизировался с правильным временем, ошибка сразу прекратилась.

Другие вопросы по тегам