将传统的session应用升级到jwt+redis应用

1、jwt php软件包
composer require firebase/php-jwt

2、redis
也有php redis可供选择,安装php redis的好处是方便调试,可以跟php代码一样调试。
但由于我是在laragon的环境下进行开发,laragon本身自带redis,我就没有再安装一个php redis

3、token 生成方案
可供选择的方案包括:

  • 标准token认证:单token认证,风险是token被窃取后,造成持续的数据泄露
    1. 双token认证:目前最好的方式,包括access_token和request_token,有效期分别为1小时和7天。两个token分别保存在jwt和redis上。access_token失效后,如果request_token还有效,返回401,前端重新获取access_token后,再发送业务请求。

4、jwt、redis的内容分工

  • jwt:仅仅通过user_id产生
  • redis: 以token为键的关键组成部分,保存包括language、theme、locale、权限等数据,方便php后端读取。

5、redis的有效期
每次访问了redis,就自动延长redis的有效期

posted @ 2025-08-26 12:24  繁星灼灼  阅读(12)  评论(0)    收藏  举报