From 781f81a6e5eaf56d142fa8c8ae220fb0be95c396 Mon Sep 17 00:00:00 2001 From: dlaren Date: Sat, 30 Aug 2025 20:29:17 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E4=BF=AE=E6=94=B9=E3=80=91=20?= =?UTF-8?q?=E7=B3=BB=E7=BB=9Ftoken=E4=BC=98=E5=8C=96=EF=BC=8C=E8=A7=A3?= =?UTF-8?q?=E5=86=B3=E5=AD=A6=E7=94=9F=E7=AB=AF=E8=80=83=E8=AF=95=E6=97=B6?= =?UTF-8?q?=E6=97=B6=E9=97=B4=E5=87=BA=E7=8E=B0=E8=B7=B3=E5=8F=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../system/controller/admin/auth/AuthController.java | 12 ++++++------ .../service/oauth2/OAuth2TokenServiceImpl.java | 4 +++- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/exam-module-system/exam-module-system-biz/src/main/java/pc/exam/pp/module/system/controller/admin/auth/AuthController.java b/exam-module-system/exam-module-system-biz/src/main/java/pc/exam/pp/module/system/controller/admin/auth/AuthController.java index bb48db0d..98eebf1d 100644 --- a/exam-module-system/exam-module-system-biz/src/main/java/pc/exam/pp/module/system/controller/admin/auth/AuthController.java +++ b/exam-module-system/exam-module-system-biz/src/main/java/pc/exam/pp/module/system/controller/admin/auth/AuthController.java @@ -126,9 +126,9 @@ public class AuthController { OAuth2AccessTokenDO oAuth2AccessTokenDO = JsonUtils.parseObject(stringRedisTemplate.opsForValue().get(oauth2_access_token), OAuth2AccessTokenDO.class); // 判断账号是否登录过 if (oAuth2AccessTokenDO != null && oAuth2AccessTokenDO.getUserInfo().get("username").equals(loginUserName)) { - stringRedisTemplate.opsForValue().getAndDelete(oauth2_access_token); -// String token = oauth2_access_token.split(":")[1]; -// authService.logout(token, LoginLogTypeEnum.LOGOUT_SELF.getType()); +// stringRedisTemplate.opsForValue().getAndDelete(oauth2_access_token); + String token = oauth2_access_token.split(":")[1]; + authService.logout(token, LoginLogTypeEnum.LOGOUT_SELF.getType()); } } return success(true); @@ -150,10 +150,10 @@ public class AuthController { // 判断账号是否登录过 if (oAuth2AccessTokenDO != null && oAuth2AccessTokenDO.getUserInfo().get("username").equals(loginoutVo.getUsername())) { // 说明登录了,别的地方登录了,请重新登录 - stringRedisTemplate.opsForValue().getAndDelete(oauth2_access_token); +// stringRedisTemplate.opsForValue().getAndDelete(oauth2_access_token); // TODO 要更改的地方 -// String token = oauth2_access_token.split(":")[1]; -// authService.logout(token, LoginLogTypeEnum.LOGOUT_ADMIN_SELF.getType()); + String token = oauth2_access_token.split(":")[1]; + authService.logout(token, LoginLogTypeEnum.LOGOUT_ADMIN_SELF.getType()); } } return success("退出成功,请重新输入用户名密码登录!"); diff --git a/exam-module-system/exam-module-system-biz/src/main/java/pc/exam/pp/module/system/service/oauth2/OAuth2TokenServiceImpl.java b/exam-module-system/exam-module-system-biz/src/main/java/pc/exam/pp/module/system/service/oauth2/OAuth2TokenServiceImpl.java index 835c5c0f..57861944 100644 --- a/exam-module-system/exam-module-system-biz/src/main/java/pc/exam/pp/module/system/service/oauth2/OAuth2TokenServiceImpl.java +++ b/exam-module-system/exam-module-system-biz/src/main/java/pc/exam/pp/module/system/service/oauth2/OAuth2TokenServiceImpl.java @@ -159,7 +159,9 @@ public class OAuth2TokenServiceImpl implements OAuth2TokenService { } private OAuth2AccessTokenDO createOAuth2AccessToken(OAuth2RefreshTokenDO refreshTokenDO, OAuth2ClientDO clientDO) { - OAuth2AccessTokenDO accessTokenDO = new OAuth2AccessTokenDO().setAccessToken(generateAccessToken()) + // OAuth2AccessTokenDO accessTokenDO = new OAuth2AccessTokenDO().setAccessToken(generateAccessToken()) + // 使刷新token与AccessToken相同,简化前端调用 + OAuth2AccessTokenDO accessTokenDO = new OAuth2AccessTokenDO().setAccessToken(refreshTokenDO.getRefreshToken()) .setUserId(refreshTokenDO.getUserId()).setUserType(refreshTokenDO.getUserType()) .setUserInfo(buildUserInfo(refreshTokenDO.getUserId(), refreshTokenDO.getUserType())) .setClientId(clientDO.getClientId()).setScopes(refreshTokenDO.getScopes())