我看文档的时候关于登录态的维护是用`wx.checkSession`去检查登录态的code是否过期,过期的话就重新调用`wx.login`拿。
我的想法是把这个code先存到stroage。
但是这样是不是任何要用到code换openid之前都需要用checkSession去检查一次,如果code不存在或者过期了都要用wx.login获取
或者还有更好的办法吗?
网友回复:
另外就是这个code是不是只能用一次啊。我在支付的时候这个code用第1次服务器那边返回回来就是一个404了
wx.login返回的code有效期只有五分钟。详细文档见:
https://mp.weixin.qq.com/debug/wxadoc/dev/api/api-login.html#wxloginobject
一般会wx.login之后 颁发业务自己的登录态
LS的。我知道code有5min,
那样是不是每次需要用这个code换取的openid之前都去checkSession看下是否要重新获取code,
还是说我在第1次换取的时候就直接把这个openid保存到cache里面就可以了。
我想做的是支付的操作,服务端那边是想让我直接把openid给他就可以了
把openid写到客户端 服务端直接信任openid 这种做法很不安全,很容易被人伪造一个openid发请求给后台。
建议服务器校验完code 拿到openid之后 生成一个自己的加密串,例如 sessionid,把sessionid下发到客户端存储。然后服务端存储sessionid和openid的映射。同时要管理sessionid的过期时间
好的。谢谢~