feat: 新增JWT刷新token接口

This commit is contained in:
haoxr
2024-11-12 22:48:30 +08:00
parent b4397b13b0
commit c7621f90cb
3 changed files with 17 additions and 23 deletions

View File

@@ -32,13 +32,6 @@ import java.util.stream.Collectors;
@Component @Component
public class JwtUtils { public class JwtUtils {
private static StringRedisTemplate redisTemplate;
@Autowired
public JwtUtils(StringRedisTemplate redisTemplate) {
JwtUtils.redisTemplate = redisTemplate;
}
/** /**
* JWT 加解密使用的密钥 * JWT 加解密使用的密钥
@@ -56,22 +49,22 @@ public class JwtUtils {
*/ */
private static int refreshTokenExpiration; private static int refreshTokenExpiration;
private static StringRedisTemplate redisTemplate;
@Value("${security.jwt.key}")
public void setKey(String key) {
@Autowired
public JwtUtils(
@Value("${security.jwt.key}") String key,
@Value("${security.jwt.access-token-expiration}") int accessTokenExpiration,
@Value("${security.jwt.refresh-token-expiration}") int refreshTokenExpiration,
StringRedisTemplate redisTemplate
) {
JwtUtils.key = key.getBytes(); JwtUtils.key = key.getBytes();
}
@Value("${security.jwt.access-token-expiration}")
public void setAccessTokenExpiration(Integer accessTokenExpiration) {
JwtUtils.accessTokenExpiration = accessTokenExpiration; JwtUtils.accessTokenExpiration = accessTokenExpiration;
}
@Value("${security.jwt.refresh-token-expiration}")
public void setRefreshTokenExpiration(Integer refreshTokenExpiration) {
JwtUtils.refreshTokenExpiration = refreshTokenExpiration; JwtUtils.refreshTokenExpiration = refreshTokenExpiration;
JwtUtils.redisTemplate = redisTemplate;
} }
/** /**
* 生成访问令牌JWT Token * 生成访问令牌JWT Token
* *
@@ -86,7 +79,6 @@ public class JwtUtils {
return createToken(authentication, refreshTokenExpiration); return createToken(authentication, refreshTokenExpiration);
} }
/** /**
* 生成 JWT Token * 生成 JWT Token
* *

View File

@@ -73,8 +73,6 @@ mybatis-plus:
# 这个配置会将执行的sql打印出来在开发或测试的时候可以用 # 这个配置会将执行的sql打印出来在开发或测试的时候可以用
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
# 安全配置 # 安全配置
security: security:
jwt: jwt:
@@ -94,6 +92,7 @@ security:
- /swagger-ui/** - /swagger-ui/**
- /swagger-ui.html - /swagger-ui.html
- /api/v1/auth/captcha - /api/v1/auth/captcha
- /api/v1/auth/refresh-token
- /ws/** - /ws/**
# 文件存储配置 # 文件存储配置

View File

@@ -63,8 +63,10 @@ security:
jwt: jwt:
# JWT 秘钥 # JWT 秘钥
key: SecretKey012345678901234567890123456789012345678901234567890123456789 key: SecretKey012345678901234567890123456789012345678901234567890123456789
# JWT 有效期(单位:秒) # 访问令牌 有效期(单位:秒),默认 1 小时
ttl: 7200 access-token-expiration: 3600
# 刷新令牌有效期(单位:秒),默认 7 天
refresh-token-expiration: 604800
# 白名单列表 # 白名单列表
ignore-urls: ignore-urls:
- /v3/api-docs/** - /v3/api-docs/**
@@ -75,6 +77,7 @@ security:
- /swagger-ui/** - /swagger-ui/**
- /swagger-ui.html - /swagger-ui.html
- /api/v1/auth/captcha - /api/v1/auth/captcha
- /api/v1/auth/refresh-token
- /ws/** - /ws/**
# 文件存储配置 # 文件存储配置