增加了token的refresh方法

This commit is contained in:
root 2025-05-26 16:42:02 +08:00
parent bff8b62a34
commit e3ebf5df5f
2 changed files with 19 additions and 6 deletions

View File

@ -9,9 +9,7 @@ import io.gisbi.auth.config.SubstituleLoginConfig;
import io.gisbi.auth.vo.TokenVO; import io.gisbi.auth.vo.TokenVO;
import io.gisbi.exception.DEException; import io.gisbi.exception.DEException;
import io.gisbi.i18n.Translator; import io.gisbi.i18n.Translator;
import io.gisbi.utils.LogUtil; import io.gisbi.utils.*;
import io.gisbi.utils.Md5Utils;
import io.gisbi.utils.RsaUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@ -47,6 +45,21 @@ public class SubstituleLoginServer {
return generate(tokenUserBO, md5Pwd); return generate(tokenUserBO, md5Pwd);
} }
@GetMapping("/login/refresh")
public TokenVO refresh() {
// 从请求头中获取现有的 token
String oldToken = ServletUtils.getToken();
if (StringUtils.isBlank(oldToken)) {
DEException.throwException("token为空");
}
// 解析旧 token 获取用户信息
TokenUserBO userBO = TokenUtils.validate(oldToken);
// 生成新的 token
String secret = SubstituleLoginConfig.getPwd(); // 获取密钥
return generate(userBO, secret);
}
@GetMapping("/logout") @GetMapping("/logout")
public void logout() { public void logout() {

View File

@ -80,9 +80,9 @@ public class TokenFilter implements Filter {
filterChain.doFilter(servletRequest, servletResponse); filterChain.doFilter(servletRequest, servletResponse);
return; return;
} }
// String token = ServletUtils.getToken(); String token = ServletUtils.getToken();
// TokenUserBO userBO = TokenUtils.validate(token); TokenUserBO userBO = TokenUtils.validate(token);
// UserUtils.setUserInfo(userBO); UserUtils.setUserInfo(userBO);
filterChain.doFilter(servletRequest, servletResponse); filterChain.doFilter(servletRequest, servletResponse);
} catch (Exception e) { } catch (Exception e) {
throw e; throw e;