收藏
回答

关于token过期,以及微信保存token的问题。

问题模块
API和组件

我关于服务器验证的做法是wx.login成功时候访问服务器,在服务器生成一个token,返回到微信。这个时候吧token保存在storage。下次启动小程序的时候从storage获取token访问服务器。

现在问题是,token在服务器保存的时候设置了两个小时的过期时间,那么如果两个小时之后再打开小程序,那么本地保存的token就失效了,但是小程序本身不知道token已经失效,这就需要在下次访问服务器返回验证失败之后才能知道失效,这样返回一个错误给用户,用户在主动登录。整个流程非常不友好,这样用户长时间不使用就要不断的重新登录。

有没有比较好的解决方法呢。


我的想法是token不需要保存在storage了,app每次onlaunch的时候程序主动登录刷新token。这样做是否常见呢,新手哈,没解决过类似的问题,有经验的同志可以分享下经验吗?多谢。


最后一次编辑于  2017-03-14  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏关注问题回答

2 个回答

  • 潮水
    潮水
    2017-03-14

    好吧,没什么人哈,这里。

    其实就是给本地缓存加上一个有效期就行了,在模块里重新定义一下api的setstorage函数。每次wx.setstorage的时候在需要保存的obj基础上扩展一个time和expire属性,然后在wx.getstorage的时候判断一下过期时间。

    2017-03-14
    赞同
    回复
  • 昵称什么的都不重要
    昵称什么的都不重要
    05-05

    最好不要每次刷新  公众平台每天提供的token是有数量的  还是给本地缓存家有效时间吧

    05-05
    赞同
    回复