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

延吉市英杰墙体彩绘店 2026/09/09 17:50:41

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

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

品牌网站建设浙江网站建设

实战演练:光线追踪渲染性能优化三大利器【免费下载链接】raytracing.github.ioMain Web Site (Online Books)项目地址: https://gitc

2026/06/30 11:19:54

免费企业网站建设宝山网站建设

如何快速部署Jaeger UI:面向新手的完整分布式追踪指南【免费下载链接】jaeger-uiWeb UI for Jaeger项目地址: https://gitcode.com/gh_

2026/06/30 12:17:31

网站建设服务静安网站建设

医院预约管理系统设计开发背景医疗资源分配不均和患者就诊效率低下是当前医疗系统面临的普遍问题。传统挂号方式存在排队时间长、号源分配不透明、资源浪费等现象。信息技术的发展为优化医疗流程提供了解决方案&#x

2026/06/30 10:47:52

网站建设计划书网站建设的

Jupyter Notebook内核更换:支持多种PyTorch版本切换在深度学习项目开发中,你是否曾遇到这样的场景?刚跑通一个基于 PyTorch 1.12

2026/06/30 12:50:03

网站建设 企业网站建设集团

快速体验打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容:请对比生成传统方式和AI辅助方式创建以下NGINX配置的时间消耗报告

2026/06/30 12:07:29

大连网站建设网站建设规划书

Zotero文献格式修复:告别混乱标题的专业解决方案【免费下载链接】zotero-format-metadataLinter for Zotero. An addon for Zoter

2026/06/30 11:18:55

徐州网站建设网站建设 上海

1.前言在进行14.0的系统定制开发中,在某些app的定制过程中,需要知道某个app的启动记录和退出记录, 所以就需要监听某个app的启动和退出的过程,需要在Activity的生命周期中来实现监听功能

2026/06/30 13:50:07

怎么建设网站网站建设推广

NodeMCU PyFlasher终极指南:三分钟快速上手的ESP8266固件烧录神器【免费下载链接】nodemcu-pyflasherSelf-contained NodeMCU fl

2026/06/30 13:47:07