提交 abb4bae3 编写于 作者: Tyl666's avatar Tyl666

【JWT鉴权续期接口】修改reflashToken逻辑

上级 833b6fba
......@@ -83,7 +83,7 @@ public class ClientAuthenticationResource
}
@PostMapping(value = "v7/reflashToken")
public String reflashToken(@Validated @RequestBody @NotNull(message = "token不能为空") String oldToken) {
public String refreshToken(@Validated @RequestBody @NotNull(message = "token不能为空") String oldToken) {
// 查询token里面的用户名
String username = jwtTokenUtil.getUsernameFromToken(oldToken);
// 根据用户名取缓存的用户对象
......@@ -96,15 +96,18 @@ public class ClientAuthenticationResource
// 如果为空则生成一个新token
String newToken = jwtTokenUtil.generateToken(user);
// 存入缓存中
tok = tokenReflashService.setToken(newToken, oldToken);
tok = tokenReflashService.setToken(oldToken, newToken);
return tok.getNewToken();
}else {
// 如果时间还在半个小时以上,则继续使用该token
if(System.currentTimeMillis() - tok.getDate().getTime() >= (expiration / 4)){
return tok.getNewToken();
// 如果时间还在半个小时以上,则继续使用该token,反之则刷新该token并返回新token
if (System.currentTimeMillis() - tok.getDate().getTime() < (expiration / 4)) {
// 如果为空则生成一个新token
String newToken = jwtTokenUtil.generateToken(user);
// 存入缓存中
tok = tokenReflashService.setToken(oldToken, newToken);
}
return tok.getNewToken();
}
return oldToken;
}
@PostMapping(value = "v7/changepwd")
......
......@@ -15,7 +15,7 @@ import java.util.Date;
public class TokenReflashService {
@CachePut(value = "ibzuaa_users", key = "'token:'+#p0")
public Token setToken(String newToken, String oldToken) {
public Token setToken(String oldToken, String newToken) {
Token tok = new Token(newToken, oldToken, new Date());
return tok;
}
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册