news 2026/6/10 21:31:52

一文搞懂:如何在 Redis 中查看芋道 OAuth2 Token 的过期时间

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
一文搞懂:如何在 Redis 中查看芋道 OAuth2 Token 的过期时间

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

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

Unpaywall完整教程:轻松解锁学术论文的终极指南

Unpaywall完整教程:轻松解锁学术论文的终极指南 【免费下载链接】unpaywall-extension Firefox/Chrome extension that gives you a link to a free PDF when you view scholarly articles 项目地址: https://gitcode.com/gh_mirrors/un/unpaywall-extension …

作者头像 李华
网站建设 2026/6/10 4:43:28

GitStats终极指南:5大核心功能深度解析

GitStats终极指南:5大核心功能深度解析 【免费下载链接】git_stats GitStats is a git repository statistics generator. 项目地址: https://gitcode.com/gh_mirrors/gi/git_stats GitStats是一款专业的Git仓库统计分析工具,能够为开发团队提供全…

作者头像 李华
网站建设 2026/6/10 14:55:40

Python GUI革命性突破:DearPyGui如何用即时模式颠覆传统界面开发

在Python图形界面开发领域,开发者们长期面临着性能瓶颈、复杂配置和跨平台兼容性等挑战。传统GUI框架如Tkinter、PyQt虽然功能强大,但其冗长的代码结构和学习曲线让许多开发者望而却步。今天,一个名为DearPyGui的全新框架正以即时模式架构和G…

作者头像 李华
网站建设 2026/6/10 14:54:51

SvelteKit + Markdown-it:构建企业级Markdown编辑器的终极指南

SvelteKit Markdown-it:构建企业级Markdown编辑器的终极指南 【免费下载链接】markdown-it Markdown parser, done right. 100% CommonMark support, extensions, syntax plugins & high speed 项目地址: https://gitcode.com/gh_mirrors/ma/markdown-it …

作者头像 李华
网站建设 2026/6/10 21:27:38

利用IPIDEA实现大规模数据自动抓取

IPIDEA是一款提供高效数据抓取的代理服务,适合大规模数据自动抓取任务。通过其丰富的代理池和灵活的API接口,IPIDEA能够为用户提供高匿名、高速度的抓取解决方案。一、IPIDEA的优势1.丰富的代理池 IPIDEA拥有全球1亿IP池,包括住宅代理、移动代…

作者头像 李华
网站建设 2026/6/10 13:11:24

展厅设计机构哪家技术强

展厅设计机构哪家技术强?深度解析行业标杆的技术实力与服务价值引言在数字化展厅需求激增的当下,企业与机构对展厅设计机构的技术能力要求愈发严苛。从数字孪生、VR交互到多数据源同步,技术实力已成为衡量机构竞争力的核心指标。本文通过分析…

作者头像 李华