登录态token的维护
发布于 6 年前 作者 qiang76 10654 次浏览 来自 问答

我看文档的时候关于登录态的维护是用`wx.checkSession`去检查登录态的code是否过期,过期的话就重新调用`wx.login`拿。

我的想法是把这个code先存到stroage。

但是这样是不是任何要用到code换openid之前都需要用checkSession去检查一次,如果code不存在或者过期了都要用wx.login获取

或者还有更好的办法吗?

5 回复

把openid写到客户端  服务端直接信任openid 这种做法很不安全,很容易被人伪造一个openid发请求给后台。

建议服务器校验完code 拿到openid之后 生成一个自己的加密串,例如 sessionid,把sessionid下发到客户端存储。然后服务端存储sessionid和openid的映射。同时要管理sessionid的过期时间

3rd服务端如何管理sessionid的过期时间.

当前是设置了2小时保存时效. 但如果保持和微信端的时效同步?

目前会遇到 checkSession通过,但3rd服务端过期的情况. 怎么解决?

LS的。我知道code有5min,

那样是不是每次需要用这个code换取的openid之前都去checkSession看下是否要重新获取code,

还是说我在第1次换取的时候就直接把这个openid保存到cache里面就可以了。

我想做的是支付的操作,服务端那边是想让我直接把openid给他就可以了

wx.login返回的code有效期只有五分钟。详细文档见:

https://mp.weixin.qq.com/debug/wxadoc/dev/api/api-login.html#wxloginobject

一般会wx.login之后 颁发业务自己的登录态

另外就是这个code是不是只能用一次啊。我在支付的时候这个code用第1次服务器那边返回回来就是一个404了

回到顶部