node.js - 对话 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 返回一个永远不会解析/拒绝的承诺,并且它不会更新令牌。每个人如何处理这个关键问题?
解决方案
在您要点的评论中,我可以看到@berkus 已经回复说这似乎是 Twilio 方面的一个错误。
在等待修复时,您可以做的一件事是关闭现有客户端并使用更新的令牌创建一个新客户端。取消订阅和重新订阅各种事件可能需要做很多工作,因此等待修复可能是值得的。
推荐阅读
- python - 更新 tkinter 画布中的 matlib 图
- phaser-framework - Creating animation from atlas in Phaser 3?
- android - 应用程序在后台运行并再次打开它会使设备滞后
- html - 将整数变量名称与整数数字连接
- rust - 在适用于 Linux 的 macOS 上使用 cargo 和 rust 交叉编译和链接动态库 (cdylib)
- html - html css导航栏阻止图像滑块的宽度
- php - 如何在 php 中使用 dropzone.js 上传任何文件?
- git - 通过从远程存储库获取数据然后提交它们删除了一些文件,现在想要恢复旧文件
- python - 如何将元素添加到数据框中的每一行?
- json - 如何组合一个属性类型,以匹配另一个属性类型