From 2d42c4f17c584394e42f011256ea9c9ce7a35db9 Mon Sep 17 00:00:00 2001 From: PigBaoBei <2739175034@qq.com> Date: Tue, 22 Oct 2024 14:06:09 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E9=80=80=E5=87=BA=E7=99=BB=E9=99=86?= =?UTF-8?q?=E6=B8=85=E7=90=86=E7=99=BB=E5=BD=95=E4=BA=BA=E4=BB=93=E5=BA=93?= =?UTF-8?q?=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org/springblade/auth/endpoint/BladeTokenEndPoint.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/blade-auth/src/main/java/org/springblade/auth/endpoint/BladeTokenEndPoint.java b/blade-auth/src/main/java/org/springblade/auth/endpoint/BladeTokenEndPoint.java index 67cb1cc4..56f00f08 100644 --- a/blade-auth/src/main/java/org/springblade/auth/endpoint/BladeTokenEndPoint.java +++ b/blade-auth/src/main/java/org/springblade/auth/endpoint/BladeTokenEndPoint.java @@ -45,6 +45,8 @@ import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpSession; import java.time.Duration; +import java.util.List; +import java.util.Map; import static org.springblade.core.cache.constant.CacheConstant.*; @@ -124,6 +126,9 @@ public class BladeTokenEndPoint { // 清空资源服务器保存的token OAuth2AccessToken accessToken = tokenStore.readAccessToken(token); OAuth2RefreshToken refreshToken = null; + String string = CacheNames.tenantKeyObj(user.getTenantId(), "logpm:user:warehouse:own:", user.getUserId()); +// List> o = bladeRedis.get(string); + bladeRedis.del(CacheNames.tenantKeyObj(user.getTenantId(),"logpm:user:warehouse:own:", user.getUserId())); if (accessToken != null && StringUtil.isNoneBlank(accessToken.getValue())) { refreshToken = accessToken.getRefreshToken(); tokenStore.removeAccessToken(accessToken); @@ -131,6 +136,7 @@ public class BladeTokenEndPoint { if (refreshToken != null && StringUtil.isNoneBlank(refreshToken.getValue())) { tokenStore.removeRefreshToken(refreshToken); } + return Kv.create().set("success", "true").set("msg", "success"); } From 777062d23a5ae6b7e22a9962ab8bffc224f6a8da Mon Sep 17 00:00:00 2001 From: "pref_mail@163.com" Date: Wed, 23 Oct 2024 01:06:27 +0800 Subject: [PATCH 2/3] =?UTF-8?q?fix:=20dug=20=E4=B8=BA=E4=BB=80=E4=B9=88?= =?UTF-8?q?=E4=BC=9A=E4=BD=9C=E4=B8=9A=E8=BF=87=E7=A8=8B=E6=8E=89=E7=BA=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/BladeUserDetailsServiceImpl.java | 2 ++ .../auth/support/BladeJwtTokenEnhancer.java | 30 +++++++++++++++++++ 2 files changed, 32 insertions(+) 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 da74101c..65467074 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,8 +241,10 @@ 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); + log.info("judgeRefreshToken refreshToken={}",refreshToken); if(refreshToken != null){ Claims claims = JwtUtil.parseJWT(refreshToken); + log.info("judgeRefreshToken claims={}",claims); if(claims!=null){ String tenantId = String.valueOf(claims.get("tenant_id")); String clientId = String.valueOf(claims.get("client_id")); diff --git a/blade-auth/src/main/java/org/springblade/auth/support/BladeJwtTokenEnhancer.java b/blade-auth/src/main/java/org/springblade/auth/support/BladeJwtTokenEnhancer.java index f7321d75..a9e59832 100644 --- a/blade-auth/src/main/java/org/springblade/auth/support/BladeJwtTokenEnhancer.java +++ b/blade-auth/src/main/java/org/springblade/auth/support/BladeJwtTokenEnhancer.java @@ -56,20 +56,35 @@ public class BladeJwtTokenEnhancer implements TokenEnhancer { //token参数增强 Map info = new HashMap<>(16); info.put(TokenUtil.CLIENT_ID, clientId); + System.out.println(">> 页面出现掉线情况 debug clientId = "+clientId); info.put(TokenUtil.USER_ID, Func.toStr(principal.getUserId())); + System.out.println(">> 页面出现掉线情况 debug USER_ID = "+Func.toStr(principal.getUserId())); info.put(TokenUtil.DEPT_ID, Func.toStr(principal.getDeptId())); + System.out.println(">> 页面出现掉线情况 debug DEPT_ID = "+Func.toStr(principal.getDeptId())); info.put(TokenUtil.POST_ID, Func.toStr(principal.getPostId())); + System.out.println(">> 页面出现掉线情况 debug POST_ID = "+Func.toStr(principal.getPostId())); info.put(TokenUtil.ROLE_ID, Func.toStr(principal.getRoleId())); + System.out.println(">> 页面出现掉线情况 debug ROLE_ID = "+Func.toStr(principal.getRoleId())); info.put(TokenUtil.TENANT_ID, principal.getTenantId()); + System.out.println(">> 页面出现掉线情况 debug TENANT_ID = "+principal.getTenantId()); info.put(TokenUtil.OAUTH_ID, principal.getOauthId()); + System.out.println(">> 页面出现掉线情况 debug OAUTH_ID = "+principal.getOauthId()); info.put(TokenUtil.ACCOUNT, principal.getAccount()); + System.out.println(">> 页面出现掉线情况 debug ACCOUNT = "+principal.getAccount()); info.put(TokenUtil.USER_NAME, principal.getUsername()); + System.out.println(">> 页面出现掉线情况 debug USER_NAME = "+principal.getUsername()); info.put(TokenUtil.NICK_NAME, principal.getName()); + System.out.println(">> 页面出现掉线情况 debug NICK_NAME = "+principal.getName()); info.put(TokenUtil.REAL_NAME, principal.getRealName()); + System.out.println(">> 页面出现掉线情况 debug REAL_NAME = "+principal.getRealName()); info.put(TokenUtil.ROLE_NAME, principal.getRoleName()); + System.out.println(">> 页面出现掉线情况 debug ROLE_NAME = "+principal.getRoleName()); info.put(TokenUtil.AVATAR, principal.getAvatar()); info.put(TokenUtil.DETAIL, principal.getDetail()); + System.out.println(">> 页面出现掉线情况 debug DETAIL = "+principal.getDetail()); info.put(TokenUtil.LICENSE, TokenUtil.LICENSE_NAME); + info.put(TokenUtil.LICENSE_NAME, TokenUtil.LICENSE_NAME); + ((DefaultOAuth2AccessToken) accessToken).setAdditionalInformation(info); //token状态设置 @@ -82,9 +97,24 @@ public class BladeJwtTokenEnhancer implements TokenEnhancer { if (jwtProperties.getSingle()) { OAuth2RefreshToken oAuth2RefreshToken = oAuth2AccessToken.getRefreshToken(); + System.err.println(">> 页面出现掉线情况 oAuth2RefreshToken = "+oAuth2RefreshToken); if(oAuth2RefreshToken!=null){ String refreshTokenValue = oAuth2RefreshToken.getValue(); JwtUtil.addRefreshToken(tenantId, clientId, userId, refreshTokenValue, accessToken.getExpiresIn() * 168); + }else{ + System.out.println(">> 页面出现掉线情况 debug clientId = "+clientId); + System.out.println(">> 页面出现掉线情况 debug USER_ID = "+Func.toStr(principal.getUserId())); + System.out.println(">> 页面出现掉线情况 debug DEPT_ID = "+Func.toStr(principal.getDeptId())); + System.out.println(">> 页面出现掉线情况 debug POST_ID = "+Func.toStr(principal.getPostId())); + System.out.println(">> 页面出现掉线情况 debug ROLE_ID = "+Func.toStr(principal.getRoleId())); + System.out.println(">> 页面出现掉线情况 debug TENANT_ID = "+principal.getTenantId()); + System.out.println(">> 页面出现掉线情况 debug OAUTH_ID = "+principal.getOauthId()); + System.out.println(">> 页面出现掉线情况 debug ACCOUNT = "+principal.getAccount()); + System.out.println(">> 页面出现掉线情况 debug USER_NAME = "+principal.getUsername()); + System.out.println(">> 页面出现掉线情况 debug NICK_NAME = "+principal.getName()); + System.out.println(">> 页面出现掉线情况 debug REAL_NAME = "+principal.getRealName()); + System.out.println(">> 页面出现掉线情况 debug ROLE_NAME = "+principal.getRoleName()); + System.out.println(">> 页面出现掉线情况 debug DETAIL = "+principal.getDetail()); } } } From d62242791f4abf55e6e1bfb142d2808f9c20d7c8 Mon Sep 17 00:00:00 2001 From: "pref_mail@163.com" Date: Wed, 23 Oct 2024 01:22:50 +0800 Subject: [PATCH 3/3] =?UTF-8?q?fix:=20=E6=B3=A8=E9=87=8A=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../auth/support/BladeJwtTokenEnhancer.java | 26 +++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/blade-auth/src/main/java/org/springblade/auth/support/BladeJwtTokenEnhancer.java b/blade-auth/src/main/java/org/springblade/auth/support/BladeJwtTokenEnhancer.java index a9e59832..53facd93 100644 --- a/blade-auth/src/main/java/org/springblade/auth/support/BladeJwtTokenEnhancer.java +++ b/blade-auth/src/main/java/org/springblade/auth/support/BladeJwtTokenEnhancer.java @@ -56,32 +56,32 @@ public class BladeJwtTokenEnhancer implements TokenEnhancer { //token参数增强 Map info = new HashMap<>(16); info.put(TokenUtil.CLIENT_ID, clientId); - System.out.println(">> 页面出现掉线情况 debug clientId = "+clientId); +// System.out.println(">> 页面出现掉线情况 debug clientId = "+clientId); info.put(TokenUtil.USER_ID, Func.toStr(principal.getUserId())); - System.out.println(">> 页面出现掉线情况 debug USER_ID = "+Func.toStr(principal.getUserId())); +// System.out.println(">> 页面出现掉线情况 debug USER_ID = "+Func.toStr(principal.getUserId())); info.put(TokenUtil.DEPT_ID, Func.toStr(principal.getDeptId())); - System.out.println(">> 页面出现掉线情况 debug DEPT_ID = "+Func.toStr(principal.getDeptId())); +// System.out.println(">> 页面出现掉线情况 debug DEPT_ID = "+Func.toStr(principal.getDeptId())); info.put(TokenUtil.POST_ID, Func.toStr(principal.getPostId())); - System.out.println(">> 页面出现掉线情况 debug POST_ID = "+Func.toStr(principal.getPostId())); +// System.out.println(">> 页面出现掉线情况 debug POST_ID = "+Func.toStr(principal.getPostId())); info.put(TokenUtil.ROLE_ID, Func.toStr(principal.getRoleId())); - System.out.println(">> 页面出现掉线情况 debug ROLE_ID = "+Func.toStr(principal.getRoleId())); +// System.out.println(">> 页面出现掉线情况 debug ROLE_ID = "+Func.toStr(principal.getRoleId())); info.put(TokenUtil.TENANT_ID, principal.getTenantId()); - System.out.println(">> 页面出现掉线情况 debug TENANT_ID = "+principal.getTenantId()); +// System.out.println(">> 页面出现掉线情况 debug TENANT_ID = "+principal.getTenantId()); info.put(TokenUtil.OAUTH_ID, principal.getOauthId()); - System.out.println(">> 页面出现掉线情况 debug OAUTH_ID = "+principal.getOauthId()); +// System.out.println(">> 页面出现掉线情况 debug OAUTH_ID = "+principal.getOauthId()); info.put(TokenUtil.ACCOUNT, principal.getAccount()); - System.out.println(">> 页面出现掉线情况 debug ACCOUNT = "+principal.getAccount()); +// System.out.println(">> 页面出现掉线情况 debug ACCOUNT = "+principal.getAccount()); info.put(TokenUtil.USER_NAME, principal.getUsername()); - System.out.println(">> 页面出现掉线情况 debug USER_NAME = "+principal.getUsername()); +// System.out.println(">> 页面出现掉线情况 debug USER_NAME = "+principal.getUsername()); info.put(TokenUtil.NICK_NAME, principal.getName()); - System.out.println(">> 页面出现掉线情况 debug NICK_NAME = "+principal.getName()); +// System.out.println(">> 页面出现掉线情况 debug NICK_NAME = "+principal.getName()); info.put(TokenUtil.REAL_NAME, principal.getRealName()); - System.out.println(">> 页面出现掉线情况 debug REAL_NAME = "+principal.getRealName()); +// System.out.println(">> 页面出现掉线情况 debug REAL_NAME = "+principal.getRealName()); info.put(TokenUtil.ROLE_NAME, principal.getRoleName()); - System.out.println(">> 页面出现掉线情况 debug ROLE_NAME = "+principal.getRoleName()); +// System.out.println(">> 页面出现掉线情况 debug ROLE_NAME = "+principal.getRoleName()); info.put(TokenUtil.AVATAR, principal.getAvatar()); info.put(TokenUtil.DETAIL, principal.getDetail()); - System.out.println(">> 页面出现掉线情况 debug DETAIL = "+principal.getDetail()); +// System.out.println(">> 页面出现掉线情况 debug DETAIL = "+principal.getDetail()); info.put(TokenUtil.LICENSE, TokenUtil.LICENSE_NAME); info.put(TokenUtil.LICENSE_NAME, TokenUtil.LICENSE_NAME);