From 9541c3533ba8edb4ca07af53656b7bff5f2ed004 Mon Sep 17 00:00:00 2001 From: "pref_mail@163.com" Date: Tue, 15 Oct 2024 00:57:57 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=A2=9E=E5=8A=A0token=20=E7=99=BB?= =?UTF-8?q?=E5=BD=95=E5=88=A4=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/BladeUserDetailsServiceImpl.java | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/blade-auth/src/main/java/org/springblade/auth/service/BladeUserDetailsServiceImpl.java b/blade-auth/src/main/java/org/springblade/auth/service/BladeUserDetailsServiceImpl.java index a3d28fdb..da74101c 100644 --- a/blade-auth/src/main/java/org/springblade/auth/service/BladeUserDetailsServiceImpl.java +++ b/blade-auth/src/main/java/org/springblade/auth/service/BladeUserDetailsServiceImpl.java @@ -241,12 +241,19 @@ public class BladeUserDetailsServiceImpl implements UserDetailsService { private boolean judgeRefreshToken(String grantType, HttpServletRequest request) { if (jwtProperties.getState() && jwtProperties.getSingle() && StringUtil.equals(grantType, TokenUtil.REFRESH_TOKEN_KEY)) { String refreshToken = request.getParameter(TokenUtil.REFRESH_TOKEN_KEY); - Claims claims = JwtUtil.parseJWT(refreshToken); - String tenantId = String.valueOf(claims.get("tenant_id")); - String clientId = String.valueOf(claims.get("client_id")); - String userId = String.valueOf(claims.get("user_id")); - String token = JwtUtil.getRefreshToken(tenantId, clientId, userId, refreshToken); - return StringUtil.equalsIgnoreCase(token, refreshToken); + if(refreshToken != null){ + Claims claims = JwtUtil.parseJWT(refreshToken); + if(claims!=null){ + String tenantId = String.valueOf(claims.get("tenant_id")); + String clientId = String.valueOf(claims.get("client_id")); + String userId = String.valueOf(claims.get("user_id")); + String token = JwtUtil.getRefreshToken(tenantId, clientId, userId, refreshToken); + return StringUtil.equalsIgnoreCase(token, refreshToken); + } + + } + + } return true; }