Menu

4.4. 维持登录状态

维持登录状态

这一节我们将学习如何维持小程序登录的状态,已经能够正确登录,调用登录接口获取 JWT,并保存在小程序缓存中。但是出于安全考虑 JWT 的有效时间一般不会太长,默认的时间为 1 小时,过期之后则无法请求需要身份认证的接口。

既然用户已经登录成功,说明小程序 openid 已经绑定了 Larabbs 用户,直接调用 api.login 即可重新获取一个 JWT,所以你可能第一时间会想到,如果发现 JWT 过期,则直接重新登录,调用 api.login

但是重新登录会产生以下流程:

  1. 小程序重新调用微信服务器 wepy.login 获取 code,微信服务器使现有 session_key 失效,重新生成 session_key;
  2. 小程序调用 LaraBBS 服务器登录接口,提交 code;
  3. LaraBBS 服务器去微信服务器换取 openidsession_key,根据 openid 找到用户,保存 session_key
  4. 返回新的 JWT。

整个过程中产生了几次网络请求,因为调用了 wepy.login(),导致 ses...

本文章首发在 Laravel China 社区

为了保证课程的高品质,我们需要对课程进行收费。付费后 才能观看剩余内容。 购买

上一篇 下一篇
刻意练习,每日精进。
9
点赞
2364
浏览
8
讨论