App之 Token 并 refreshToken 保持登录状态

问题

App 安装后,第一次启动时需要登录(在某些页面提示需要登录或者直接启动在登录界面)。而只要登录成功后,就不需要每次启动时再次登录。不过,当你的 App 长期未启动,再次启动时,就需要登录。这个是怎么实现的?App 又是怎么保持登录状态的?

思路实现

对于 accessToken (获取Token)和 refreshToken (刷新Token)接口,服务端一般会返回如下字段:

  • Token:刷新后新的 Token
  • currentTime:当前服务器时间
  • refreshTime:Token 可刷新时间
  • expireTime:Token 过期时间
  • code:刷新 Token 状态码

注:一般来说,如果未到刷新 Token 时间去刷新 Token,返回的就是之前旧的 Token。(为了方便,这里的 Time 单位都统一为秒,Token 过期 code = 50000)

流程图

App之 Token 并 refreshToken 保持登录状态_第1张图片
  • 这里的 NSTimer 建议 add 到 NSRunLoopCommonModes
  • Token 本地化建议异步存储
  • Token 读写较频繁,注意读写安全

你可能感兴趣的:(App之 Token 并 refreshToken 保持登录状态)