用户登录Token获取及失效处理

用户登录流程

用户登录RTM的凭证为“登录验证Token”,每个用户需要持有合法有效的Token登录RTM。Token由RTM服务器生成,仅可通过RTM服务端SDK获取,因此业务客户端在登录RTM服务前,需要请求业务服务器来获取登录Token。该过程的时序图如下所示:

登录流程时序图

登录Token的有效期

RTM返回的登录Token最长有效期为24小时,但以下情况可能造成Token提前失效:

  • 同一个用户ID重新获取Token,则旧Token立即失效。
  • RTM服务器根据安全需要,动态调整Token的有效期。

因此客户端需要在Token失效时,重新从业务服务器申请新的Token进行登录。

如何判断登录Token已失效

在使用RTM客户端SDK进行登录时,如果登录接口执行成功,但输出参数值为false(一般为ok=false),则代表此时Token已经失效,需要重新从业务服务器获取,具体代码视语言不同略有差异,请参考各语言SDK内部文档:

注意 由于RTM的登录Token有效期在特殊情况下有可能被RTM服务器动态调整,因此请尽量保证业务服务器每次需要时都直接从RTM服务器重新申请,不要增加缓存策略。