From 3d407e3d914a1aceb079bb4b78c855252512e49d Mon Sep 17 00:00:00 2001 From: xurunhao <1160286114@qq.com> Date: Tue, 3 Mar 2026 11:48:33 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E7=99=BB=E5=87=BA=E6=97=B6=E4=BD=BF?= =?UTF-8?q?=E7=94=A8=E7=9A=84token=E5=8F=82=E6=95=B0=E6=9C=AA=E8=BF=87?= =?UTF-8?q?=E6=BB=A4Bearer,=E5=AF=BC=E8=87=B4=E7=99=BB=E5=87=BA=E5=B9=B6?= =?UTF-8?q?=E6=9C=AA=E6=B8=85=E9=99=A4redis=E8=AE=B0=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../boot/security/token/RedisTokenManager.java | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/youlai/boot/security/token/RedisTokenManager.java b/src/main/java/com/youlai/boot/security/token/RedisTokenManager.java index 77e3ee1c..7141c015 100644 --- a/src/main/java/com/youlai/boot/security/token/RedisTokenManager.java +++ b/src/main/java/com/youlai/boot/security/token/RedisTokenManager.java @@ -4,6 +4,7 @@ import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.StrUtil; import com.youlai.boot.common.constant.RedisConstants; +import com.youlai.boot.common.constant.SecurityConstants; import com.youlai.boot.core.exception.BusinessException; import com.youlai.boot.core.web.ResultCode; import com.youlai.boot.config.property.SecurityProperties; @@ -173,7 +174,8 @@ public class RedisTokenManager implements TokenManager { */ @Override public void invalidateToken(String token) { - Object value = redisTemplate.opsForValue().get(formatTokenKey(token)); + String cleanToken = cleanBearerPrefix(token); + Object value = redisTemplate.opsForValue().get(formatTokenKey(cleanToken)); if (value instanceof UserSession userSession) { Long userId = userSession.getUserId(); invalidateUserSessions(userId); @@ -318,4 +320,15 @@ public class RedisTokenManager implements TokenManager { redisTemplate.opsForValue().set(key, value); // ttl=-1时永不过期 } } + + + /** + * 清理 Bearer 前缀 + */ + private String cleanBearerPrefix(String token) { + if (token.startsWith(SecurityConstants.BEARER_TOKEN_PREFIX)) { + return token.substring(SecurityConstants.BEARER_TOKEN_PREFIX.length()).trim(); + } + return token.trim(); + } }