首页 > 解决方案 > 对话 Javascript SDK 的 updateToken 不起作用(无法解析)

问题描述

我的目标是,在 Twilio 令牌到期后,通过 Client.updateToken 使用更新的令牌更新我的本地对话客户端。updateToken 返回一个 Promise,并且在解析后,您应该有一个可以向 Conversations 服务发出经过身份验证的请求的客户端。但是,updateToken 返回的 Promise 永远不会解决。

请参阅以下要点,其中详细说明并记录了我对@twilio/conversations Client.updateToken 返回一个永远不会解决的承诺的观察:https ://gist.github.com/danscan/85b188bf7a3f0a095f12937ccb2082e3

为了将演示压缩到合理的时间内,我将 Twilio 令牌设置为 4 分钟后过期。

您在使用新令牌创建客户端大约一分钟后看到 handleTokenRefresh 日志记录的原因是,根据 Twilio 文档,tokenAboutToExpire当令牌将在 3 分钟或更短时间内过期时会发出事件。

我相信这个问题完全独立于我配置的令牌过期时间,并且我已经使用多个令牌 TTL 对其进行了测试。

上面的要点和日志显示 Client.updateToken 返回一个永远不会解析/拒绝的承诺,并且它不会更新令牌。每个人如何处理这个关键问题?

标签: node.jstwilio

解决方案


在您要点的评论中,我可以看到@berkus 已经回复说这似乎是 Twilio 方面的一个错误。

在等待修复时,您可以做的一件事是关闭现有客户端并使用更新的令牌创建一个新客户端。取消订阅和重新订阅各种事件可能需要做很多工作,因此等待修复可能是值得的。


推荐阅读