【修改】 系统token优化,解决学生端考试时时间出现跳变
This commit is contained in:
@@ -126,9 +126,9 @@ public class AuthController {
|
|||||||
OAuth2AccessTokenDO oAuth2AccessTokenDO = JsonUtils.parseObject(stringRedisTemplate.opsForValue().get(oauth2_access_token), OAuth2AccessTokenDO.class);
|
OAuth2AccessTokenDO oAuth2AccessTokenDO = JsonUtils.parseObject(stringRedisTemplate.opsForValue().get(oauth2_access_token), OAuth2AccessTokenDO.class);
|
||||||
// 判断账号是否登录过
|
// 判断账号是否登录过
|
||||||
if (oAuth2AccessTokenDO != null && oAuth2AccessTokenDO.getUserInfo().get("username").equals(loginUserName)) {
|
if (oAuth2AccessTokenDO != null && oAuth2AccessTokenDO.getUserInfo().get("username").equals(loginUserName)) {
|
||||||
stringRedisTemplate.opsForValue().getAndDelete(oauth2_access_token);
|
// stringRedisTemplate.opsForValue().getAndDelete(oauth2_access_token);
|
||||||
// String token = oauth2_access_token.split(":")[1];
|
String token = oauth2_access_token.split(":")[1];
|
||||||
// authService.logout(token, LoginLogTypeEnum.LOGOUT_SELF.getType());
|
authService.logout(token, LoginLogTypeEnum.LOGOUT_SELF.getType());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return success(true);
|
return success(true);
|
||||||
@@ -150,10 +150,10 @@ public class AuthController {
|
|||||||
// 判断账号是否登录过
|
// 判断账号是否登录过
|
||||||
if (oAuth2AccessTokenDO != null && oAuth2AccessTokenDO.getUserInfo().get("username").equals(loginoutVo.getUsername())) {
|
if (oAuth2AccessTokenDO != null && oAuth2AccessTokenDO.getUserInfo().get("username").equals(loginoutVo.getUsername())) {
|
||||||
// 说明登录了,别的地方登录了,请重新登录
|
// 说明登录了,别的地方登录了,请重新登录
|
||||||
stringRedisTemplate.opsForValue().getAndDelete(oauth2_access_token);
|
// stringRedisTemplate.opsForValue().getAndDelete(oauth2_access_token);
|
||||||
// TODO 要更改的地方
|
// TODO 要更改的地方
|
||||||
// String token = oauth2_access_token.split(":")[1];
|
String token = oauth2_access_token.split(":")[1];
|
||||||
// authService.logout(token, LoginLogTypeEnum.LOGOUT_ADMIN_SELF.getType());
|
authService.logout(token, LoginLogTypeEnum.LOGOUT_ADMIN_SELF.getType());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return success("退出成功,请重新输入用户名密码登录!");
|
return success("退出成功,请重新输入用户名密码登录!");
|
||||||
|
@@ -159,7 +159,9 @@ public class OAuth2TokenServiceImpl implements OAuth2TokenService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private OAuth2AccessTokenDO createOAuth2AccessToken(OAuth2RefreshTokenDO refreshTokenDO, OAuth2ClientDO clientDO) {
|
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())
|
.setUserId(refreshTokenDO.getUserId()).setUserType(refreshTokenDO.getUserType())
|
||||||
.setUserInfo(buildUserInfo(refreshTokenDO.getUserId(), refreshTokenDO.getUserType()))
|
.setUserInfo(buildUserInfo(refreshTokenDO.getUserId(), refreshTokenDO.getUserType()))
|
||||||
.setClientId(clientDO.getClientId()).setScopes(refreshTokenDO.getScopes())
|
.setClientId(clientDO.getClientId()).setScopes(refreshTokenDO.getScopes())
|
||||||
|
Reference in New Issue
Block a user