From 323764c813a09cd56cdab780155ef659dbe0b364 Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期二, 11 八月 2026 15:08:03 +0800
Subject: [PATCH] update
---
ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/TokenService.java | 33 +++++++++++++++++++++++++++++++++
1 files changed, 33 insertions(+), 0 deletions(-)
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/TokenService.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/TokenService.java
index 206c1a4..6dd7b8d 100644
--- a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/TokenService.java
+++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/TokenService.java
@@ -94,6 +94,7 @@
String uuid = (String) claims.get(Constants.LOGIN_USER_KEY);
String userKey = getTokenKey(uuid);
LoginUser user = redisCache.getCacheObject(userKey);
+ restoreMiddlePlatformToken(user, uuid);
return user;
}
catch (Exception e)
@@ -151,6 +152,7 @@
{
String userKey = getTokenKey(token);
redisCache.deleteObject(userKey);
+ redisCache.deleteObject(getMiddlePlatformTokenKey(token));
}
}
@@ -240,6 +242,7 @@
// 根据uuid将loginUser缓存
String userKey = getTokenKey(loginUser.getToken());
redisCache.setCacheObject(userKey, loginUser, expireTime, TimeUnit.MINUTES);
+ cacheMiddlePlatformToken(loginUser);
}
/**
* 刷新令牌有效期
@@ -357,4 +360,34 @@
{
return CacheConstants.LOGIN_TOKEN_KEY + uuid;
}
+
+ /**
+ * 目的:中台 Token 独立存储,避免因 LoginUser 的对外 JSON 脱敏规则而丢失认证信息。
+ */
+ private void cacheMiddlePlatformToken(LoginUser loginUser)
+ {
+ if (StringUtils.isNotEmpty(loginUser.getMiddlePlatformToken()))
+ {
+ redisCache.setCacheObject(getMiddlePlatformTokenKey(loginUser.getToken()),
+ loginUser.getMiddlePlatformToken(), expireTime, TimeUnit.MINUTES);
+ }
+ }
+
+ /**
+ * 目的:从独立 Redis 键恢复中台 Token,供后续所有中台业务请求添加 Bearer 认证头。
+ */
+ private void restoreMiddlePlatformToken(LoginUser loginUser, String uuid)
+ {
+ if (loginUser == null || StringUtils.isEmpty(uuid))
+ {
+ return;
+ }
+ String middlePlatformToken = redisCache.getCacheObject(getMiddlePlatformTokenKey(uuid));
+ loginUser.setMiddlePlatformToken(middlePlatformToken);
+ }
+
+ private String getMiddlePlatformTokenKey(String uuid)
+ {
+ return CacheConstants.MIDDLE_PLATFORM_TOKEN_KEY + uuid;
+ }
}
--
Gitblit v1.7.1