南充网站建设泸州网站建设

苏州鹏成化工科技有限公司 2026/09/09 19:18:17

在使用芋道源码(Ruoyi-Vue-Pro)或基于Spring Security OAuth2的项目时,经常会遇到这样的问题:

  • Token 什么时候过期?
  • 用户为什么突然被踢下线?
  • 登录态到底存在哪?
  • Redis 里怎么看 token 剩余有效时间?

本文将通过一步一步实操,教你如何在 Redis 中准确查看 OAuth2 access_token 的过期时间


一、背景说明:芋道的 Token 存在哪里?

在芋道源码中,登录认证通常有两种方案:

  • Sa-Token
  • OAuth2(Spring Security OAuth2)

如果你在 Redis 中看到的 key 是:

oauth2_access_token:xxxx

那么可以100% 确定

✅ 当前项目使用的是OAuth2
❌ 不是 Sa-Token

并且:

  • access_token 存在 Redis
  • 过期时间由 Redis 的 TTL 控制

二、进入 Redis(基础准备)

1️⃣ 连接 Redis

redis-cli

如果有密码 / 指定端口:

redis-cli -h127.0.0.1 -p6379-a your_password

2️⃣ 注意:Redis 有 DB 概念(非常重要)

Redis 默认有DB 0 ~ DB 15
芋道经常把 token 放在 DB 1 / DB 2

先查看当前 Redis 中哪些 DB 有数据:

INFO keyspace

示例输出:

db0:keys=0,expires=0 db2:keys=180,expires=160

说明:token 在 DB 2

切换到对应 DB:

SELECT2

三、查找 OAuth2 Token Key

在 Redis 中执行:

keys *token*

你会看到类似结果:

oauth2_access_token:4ffcf66f153d48b4aa7b347d16ae474c oauth2_access_token:a7344b41b600419fbd6db1336c72e81c ...

说明:

  • 每一个 key 对应一个登录用户的 access_token
  • key 后面的字符串就是 token 本身

四、查看 Token 的过期时间(核心步骤)

1️⃣ 使用 TTL 命令(单位:秒)

TTL oauth2_access_token:4ffcf66f153d48b4aa7b347d16ae474c

返回结果示例:

(integer) 27654

2️⃣ TTL 返回值含义说明

返回值含义
> 0剩余有效时间(秒)
-1永不过期(OAuth2 基本不会)
-2token 不存在 / 已过期

3️⃣ 时间换算示例

TTL = 27654 秒

换算为时间:

  • 27654 秒
  • 7 小时 40 分 54 秒

👉 说明:
这个 token 还有约 7 小时 41 分钟过期


五、如何确认「当前登录用户」用的是哪个 token?

方法一(最推荐)

1️⃣ 在浏览器 Network / 后端日志中找到请求头:

Authorization: Bearer 4ffcf66f153d48b4aa7b347d16ae474c

2️⃣ 把 token 拼到 Redis key 中:

TTL oauth2_access_token:4ffcf66f153d48b4aa7b347d16ae474c

这个 TTL 就是当前用户真实的剩余登录时间


六、Token 过期时间是在哪里配置的?

在芋道源码中,OAuth2 的 token 过期时间通常配置在:

yudao:oauth2:access-token-expire-time:28800# access_token 有效期(秒)refresh-token-expire-time:2592000# refresh_token 有效期(秒)

其中:

28800 秒 = 8 小时

这也是为什么你在 Redis 中看到的 TTL 通常接近 8 小时。


七、常见问题排查总结

❓ keys 查不到 token?

  • 没切对 Redis DB
  • 连错 Redis 实例
  • 项目不是 OAuth2(而是 JWT / Sa-Token)

❓ TTL = -2?

  • token 已过期
  • 用户被强制下线
  • Redis 被清理过

八、总结一句话版本(记住这条就够)

在芋道 OAuth2 项目中,查看 token 过期时间只需要一条命令:

TTL oauth2_access_token:{accessToken}

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

怎么建设网站互动网站建设

大家下午好!今天,我们来聊一个在构建弹性、高可用系统时至关重要的设计模式——‘隔板模式’(Bulkhead Pattern)。在复杂的分布式系统

2026/06/30 11:18:25

陕西网站建设六安网站建设

第一章:Open-AutoGLM多因素认证集成概述Open-AutoGLM 是一个面向自动化场景的通用语言模型集成框架,支持在高安全要求的应用环境中实现多因素认证ÿ

2026/06/30 12:18:00

银川网站建设广东网站建设

ModbusRTU从机应答延迟问题实战分析与优化:从“卡顿”到流畅的工程突围一个困扰工程师的真实场景某日,产线上的PLC主站突然频繁报出“通信超时”,监控系统

2026/06/30 10:29:51

网站建设步骤网站免费建设

2025年想转行网络安全的,可以选择什么方向?随着互联网技术的快速发展和广泛应用,网络安全形势日益严峻,各种网络攻击和安全威胁不断涌现ÿ

2026/06/30 10:48:52

电器网站建设中国建设部网站

为什么MELD多模态情感识别数据集正在重新定义人机交互?【免费下载链接】MELDMELD: A Multimodal Multi-Party Dataset for Emotion Re

2026/06/30 10:05:18

南京网站建设宝山网站建设

ESP32-CAM实战:WiFi信号弱了,视频为啥卡成PPT?你有没有过这样的经历?手里的ESP32-CAM明明代码烧好了、摄像头也亮了

2026/06/30 10:08:18

滨州网站建设服务器网站建设

Vivado安装后第一件事:这样配置才能高效入门FPGA开发你刚装好Vivado,点开界面却发现仿真器找不到、IP核灰着用不了、编译慢得像卡顿的视频——这不是电脑性能问题&

2026/06/30 10:29:20

松江网站建设荥阳网站建设

在前面的课程中我们学习了动作积木和外观积木,使用它们做了一些动画,不过就像是无声电影一样,我们的动画也没有声音。假如你现在每天玩的游戏、看的动画也没有声音&#

2026/06/30 13:30:36

孝感网站建设南宁网站建设公司

一文搞懂 JDBC、MyBatis、JPA 的区别与底层原理在 Java 后端开发中,数据库访问层(DAO / Repository)几乎是每个项目的核心。而

2026/06/30 11:36:56