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

广州市南海工艺品有限公司 2026/09/09 20:22:34

在使用芋道源码(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}

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

潍坊网站建设网站建设定制

互联网大厂Java求职面试实录:从Spring Boot到微服务架构的技术深潜本文通过一个互联网大厂Java求职者谢飞机与面试官的三轮面试问答,深入探讨Java核心技术栈及

2026/06/30 12:45:04

合肥网站建设网站建设要多少钱

第一章 设计背景与核心需求汽车雨刷器是保障雨天行车安全的关键部件,传统雨刷器多采用机械调速或简单继电器控制,存在调速档位少、响应滞后、无法根据雨量自动调节的问题࿰

2026/06/30 11:44:57

龙岗网站建设专业网站建设公司

Google DeepMind推出的EmbeddingGemma-300M模型,以其300M参数规模实现了性能与效率的平衡,成为当前轻量级嵌入模型领域的重要突破。该模型基于

2026/06/30 14:20:10

怎么建设网站广州网站建设

A站视频下载终极神器:AcFunDown新手完全指南【免费下载链接】AcFunDown包含PC端UI界面的A站 视频下载器。支持收藏夹、UP主视频批量下载 😳仅供交流学习

2026/06/30 10:19:20

山东网站建设湘潭网站建设

第一章:Open-AutoGLM 运动数据同步分析Open-AutoGLM 是一个面向多源运动数据融合与智能分析的开源框架,专为处理来自可穿戴设备、智能手机传感器和边缘计算

2026/06/30 12:02:59

东阳网站建设静安网站建设

目录共享电动车电池管理系统设计与实现摘要开发技术核心代码参考示例1.建立用户稀疏矩阵,用于用户相似度计算【相似度矩阵】2.计算目标用户与其他用户的相似度总结源码文档获取/同行可拿货,招校

2026/06/30 10:18:19

天门网站建设辽宁省建设厅网站

1、演示视频基于Java Swing的路径寻路算法可视化演示程序2、项目截图设计说明3.1 技术架构本项目采用Java语言开发,核心技术栈包括:Swing框架:

2026/06/30 13:40:37

网站建设维护濮阳网站建设

随着微信生态流量的持续爆发,搭建专属微信店铺小程序已成为企业、创业者数字化转型的核心选择。但多数人困惑 “微信上怎么做自己的店铺小程序”,且担心定制化不足、后期无法拓展。象

2026/06/30 11:11:24

济南网站建设网站建设与维护

1.1 解码硬件配置单:一份需求说明书一份硬件配置清单,并非冰冷参数的堆砌,而是一份用技术语言写就的“需求说明书”。每一行规格的背后,都对应着上

2026/06/30 11:33:26

建设网站建设视频网站建设

一、设计背景与目标随着移动支付与信息交互的普及,二维码作为便捷的信息载体被广泛应用。传统二维码生成依赖手机或电脑,在工业标识、设备溯源等场景中存在灵活性不足的问题。基于单片

2026/06/30 12:15:30