4.5. 维持登录状态
维持登录状态
这一节我们将学习如何维持小程序登录的状态,已经能够正确登录,调用登录接口获取 JWT,并保存在小程序缓存中。但是出于安全考虑 JWT 的有效时间一般不会太长,默认的时间为 1 小时,过期之后则无法请求需要身份认证的接口。
既然用户已经登录成功,说明小程序 openid
已经绑定了 Larabbs 用户,直接调用 login
即可重新获取一个 JWT,所以你可能第一时间会想到,如果发现 JWT 过期,则直接重新登录,调用 login
。
但是重新登录会产生以下流程:
- 小程序重新调用微信服务器
wx.login
获取code
,微信服务器使现有session_key
失效,重新生成session_key
; - 小程序调用 LaraBBS 服务器登录接口,提交
code
; - LaraBBS 服务器去微信服务器换取
openid
及session_key
,根据openid
找到用户,保存session_key
; - 返回新...