4.5. 维持登录状态

本教程最新版为 2.1,当前版本已放弃维护,请阅读最新版本!

维持登录状态

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

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

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

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

本文章首发在 LearnKu.com 网站上。

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

上一篇 下一篇
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
贡献者:1
讨论数量: 26

Jennie
多表登录的问题?
2 个点赞 | 3 个回复 | 问答 | 课程版本 5.5
Fykex
已经过期的 Token 为什么还可以用来刷新 Token?
1 个点赞 | 3 个回复 | 问答 | 课程版本 5.5
教程中,『退出登录』逻辑不够严谨问题
1 个点赞 | 2 个回复 | 问答 | 课程版本 5.5
heibai_2018
维持登陆状态,catch 无法调用 login
1 个点赞 | 1 个回复 | 分享 | 课程版本 2.0
assassinlex
用户注销清除缓存未生效,请问这个有人碰到这个问题吗?
1 个点赞 | 1 个回复 | 问答 | 课程版本 5.5
vanman
退出登录提示 Call to a member function revoke () on null
0 个点赞 | 6 个回复 | 问答 | 课程版本 5.5
yangshuolll
将前后端的 token 过期时间设置为一样的是没有意义的。
0 个点赞 | 5 个回复 | 问答 | 课程版本 5.5
这个是怎么一回事??????
0 个点赞 | 5 个回复 | 问答 | 课程版本 5.5
张汉为
无法退出登陆?
0 个点赞 | 5 个回复 | 问答 | 课程版本 5.5
d1270469522
2.0 版本出现的问题
0 个点赞 | 3 个回复 | 问答 | 课程版本 2.0
TYu
关于将 `access_token_expired_at `设置为 0 不刷新 `token`的问题?
0 个点赞 | 3 个回复 | 问答 | 课程版本 5.5
xingxiaoli
怎么切换用户进行测试呢?
0 个点赞 | 2 个回复 | 问答 | 课程版本 5.5
yangshuolll
你这设计思路存在一个很大的 bug
0 个点赞 | 2 个回复 | 问答 | 课程版本 5.5
finley
请问一下过期时间的问题
0 个点赞 | 2 个回复 | 问答 | 课程版本 5.5
佩亚诺余项
小程序内调用 user 获取个人资料报 401?
0 个点赞 | 2 个回复 | 问答 | 课程版本 5.5
删除 token 后的返回数据 解析不到 statusCode 这个字段?
0 个点赞 | 2 个回复 | 问答 | 课程版本 5.5
beatles
刷新接口会出现并发问题 ?
0 个点赞 | 1 个回复 | 分享 | 课程版本 5.5
TigerLin
token 刷新的一个疑问
0 个点赞 | 1 个回复 | 问答 | 课程版本 5.5
zhaomengqiao
感觉弄完 jwt 再测小程序的接口好不方便
0 个点赞 | 1 个回复 | 问答 | 课程版本 5.5
Some_power
关于刷新 token 报错500问题
0 个点赞 | 0 个回复 | 问答 | 课程版本 2.0
道生一
Non-static method Redis::hSet() cannot be called statically
0 个点赞 | 0 个回复 | 分享 | 课程版本 2.0
hanswong
按步骤改完后,运行 NPM run dev 报错?
0 个点赞 | 0 个回复 | 问答 | 课程版本 2.0
TYu