登录逻辑该怎样设计?
发布于 5 年前 作者 duanjuan 18951 次浏览 来自 问答

我就想到这个逻辑:

使用wx.login拿到code给后端,后端换openid,生成我们的session_id发给前端并缓存。前端以后的每次网络请求都要把我们的session_id发回,后端判断是否合法。不合法就告诉前端,让它重新登录。

但是官方的说法是推荐通过wx.checkSession检测用户登录态是否失效,来决定是否重新走登录流程。但是又说不要用微信的session_idsession机制,要我们自己生成id来做机制,又叫我们自己的id缓存时间不要设久,那问题来了,如果我们的session_id过期了,而wx.checkSession判断没过期,那该怎么办呢?重不重新走登录流程呢?

2 回复

感谢1楼,我也是在想 wx.checkSession 有什么用

wx.checkSession 检测是 wx.login 返回的那个 session_key 是否失效。

微信的逻辑是客户端调用 wx.login,可以得到一些基本信息;如果想要用 open_id、union_id 一类的就要和服务端交互,这个步骤可以在 wx.login 之后很久才进行,这就涉及到一个 session_key 过期的问题。但实际开发中往往都是 wx.login 之后立即就跟服务端交互换取数据了,wx.checkSession 并没有什么卵用。

回到顶部