让客户端知道Twilio功能令牌何时过期的好方法 问题:

让客户端知道Twilio功能令牌何时过期的好方法 问题:,twilio,Twilio,客户机应用程序知道其Twilio功能令牌何时过期的好方法是什么 更多信息 在我的例子中,客户端应用程序是在web浏览器中运行的Javascript应用程序 我之所以问这个问题,是因为我想确保客户端应用程序(在web浏览器中运行)始终准备好接收针对它的传入呼叫。我突然想到,如果客户端应用程序正在使用的功能令牌已过期,那么对该应用程序的调用可能会在不知情的情况下失败 到目前为止,我能想到的最好的解决方案是让客户端应用程序跟踪功能令牌的过期情况,并在其过期前不久自动向服务器查询新的功能令牌。(使用Ja

客户机应用程序知道其Twilio功能令牌何时过期的好方法是什么

更多信息 在我的例子中,客户端应用程序是在web浏览器中运行的Javascript应用程序

我之所以问这个问题,是因为我想确保客户端应用程序(在web浏览器中运行)始终准备好接收针对它的传入呼叫。我突然想到,如果客户端应用程序正在使用的功能令牌已过期,那么对该应用程序的调用可能会在不知情的情况下失败

到目前为止,我能想到的最好的解决方案是让客户端应用程序跟踪功能令牌的过期情况,并在其过期前不久自动向服务器查询新的功能令牌。(使用Javascript的
setTimeout()

更理想的情况是,如果Javascript库中的
Twilio.Device
有一个回调,可以在令牌即将过期时设置该回调。这样,客户机就可以侦听该回调,并在那时请求一个新令牌

另一个解决方案可能是,如果服务器知道已进入一个针对该客户端的调用,则能够延长客户端功能令牌的过期时间。但是,这是Twilio可能提供或不提供的功能


处理此问题的好方法是什么?

您提到的使用setTimeout()的技术是管理此问题的完全有效的方法。由于您的应用程序设置了过期时间,因此您可以设置一个与请求新令牌相一致的未来函数调用

或者,如果您喜欢回调,您可以实现Twilio.Device。当令牌过期或Internet连接断开时,会调用该回调。无论哪种方式,您都需要一个新令牌来重新建立脱机客户端与Twilio的连接


您可以在或中阅读有关Twilio.Device回调的更多信息。

对于遇到此问题的新手,当令牌过期时,
Twilio.Device.error
将使用错误代码调用