tokbox Error creating session: Error: Failed to createSession

tokbox Error creating session: Error: Failed to createSession

我使用 tokbox 创建了一个应用程序,突然停止工作并抛出此错误

我已经重启了,我的钥匙没问题...我不知道会发生什么..

Error creating session: Error: Failed to createSession. Error: An authentication error occurred: 
(403) {"code":-1,"message":"token has expired","description":"token has expired"}

此问题似乎是由 JSON Web 令牌过期问题引起的,当时 system/server 时钟同步未对齐。

在我们的案例中,开发人员似乎正在更改他们机器上的时区设置,并且系统时钟以某种方式与开发服务器不同步(尽管此时时区设置为他的本地时间)。

我们最初通过更改 Windows 系统设置中的时区来解决此问题。此时错误消失,无需重新启动服务器。

当我们将时区改回实际的本地时区时,一切都继续工作。

更新:

开发人员 运行 再次遇到同样的问题,这次时区更改没有解决。我们意识到 Docker 容器是用错误的时间设置创建的(我们通过注销容器中的当前时间来确定这一点)。 docker 容器中的日期比计算机时间晚了一天零几个小时。

请务必注意,仅删除图像并重新启动容器并不能解决问题。此外,我们发现应用程序中的其他 JWT 令牌也受到影响,而不仅仅是 opentok 的。

要解决这个问题,我们必须停止 Docker Desktop 并重新启动它。这将所有新创建的容器时间重新同步到 Windows 机器时间。

另请参阅:Tokbox failed to create session