关于token过期,以及微信保存token的问题。
发布于 7 年前 作者 wei80 13106 次浏览 来自 问答

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

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

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

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

2 回复

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

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

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

回到顶部