我就想到这个逻辑:
使用wx.login
拿到code
给后端,后端换openid
,生成我们的session_id
发给前端并缓存。前端以后的每次网络请求都要把我们的session_id
发回,后端判断是否合法。不合法就告诉前端,让它重新登录。
但是官方的说法是推荐通过wx.checkSession
检测用户登录态是否失效,来决定是否重新走登录流程。但是又说不要用微信的session_id
做session机制
,要我们自己生成id
来做机制,又叫我们自己的id
缓存时间不要设久,那问题来了,如果我们的session_id
过期了,而wx.checkSession
判断没过期,那该怎么办呢?重不重新走登录流程呢?
网友回复:
wx.checkSession 检测是 wx.login 返回的那个 session_key 是否失效。
微信的逻辑是客户端调用 wx.login,可以得到一些基本信息;如果想要用 open_id、union_id 一类的就要和服务端交互,这个步骤可以在 wx.login 之后很久才进行,这就涉及到一个 session_key 过期的问题。但实际开发中往往都是 wx.login 之后立即就跟服务端交互换取数据了,wx.checkSession 并没有什么卵用。
感谢1楼,我也是在想 wx.checkSession 有什么用