【修改】 系统token优化,解决学生端考试时时间出现跳变

This commit is contained in:
dlaren
2025-08-30 20:29:17 +08:00
parent 5d1188bcf2
commit 781f81a6e5
2 changed files with 9 additions and 7 deletions

View File

@@ -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("退出成功,请重新输入用户名密码登录!");

View File

@@ -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())