diff --git a/src/main/java/com/youlai/boot/core/security/util/JwtUtils.java b/src/main/java/com/youlai/boot/core/security/util/JwtUtils.java index 853d68a6..b02171dc 100644 --- a/src/main/java/com/youlai/boot/core/security/util/JwtUtils.java +++ b/src/main/java/com/youlai/boot/core/security/util/JwtUtils.java @@ -32,13 +32,6 @@ import java.util.stream.Collectors; @Component public class JwtUtils { - private static StringRedisTemplate redisTemplate; - - @Autowired - public JwtUtils(StringRedisTemplate redisTemplate) { - JwtUtils.redisTemplate = redisTemplate; - } - /** * JWT 加解密使用的密钥 @@ -56,22 +49,22 @@ public class JwtUtils { */ 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(); - } - - @Value("${security.jwt.access-token-expiration}") - public void setAccessTokenExpiration(Integer accessTokenExpiration) { JwtUtils.accessTokenExpiration = accessTokenExpiration; - } - - @Value("${security.jwt.refresh-token-expiration}") - public void setRefreshTokenExpiration(Integer refreshTokenExpiration) { JwtUtils.refreshTokenExpiration = refreshTokenExpiration; + JwtUtils.redisTemplate = redisTemplate; } - /** * 生成访问令牌(JWT Token) * @@ -86,7 +79,6 @@ public class JwtUtils { return createToken(authentication, refreshTokenExpiration); } - /** * 生成 JWT Token * diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml index 6548cd20..6869b154 100644 --- a/src/main/resources/application-dev.yml +++ b/src/main/resources/application-dev.yml @@ -73,8 +73,6 @@ mybatis-plus: # 这个配置会将执行的sql打印出来,在开发或测试的时候可以用 log-impl: org.apache.ibatis.logging.stdout.StdOutImpl - - # 安全配置 security: jwt: @@ -94,6 +92,7 @@ security: - /swagger-ui/** - /swagger-ui.html - /api/v1/auth/captcha + - /api/v1/auth/refresh-token - /ws/** # 文件存储配置 diff --git a/src/main/resources/application-prod.yml b/src/main/resources/application-prod.yml index 44f27dc3..cd66de2c 100644 --- a/src/main/resources/application-prod.yml +++ b/src/main/resources/application-prod.yml @@ -63,8 +63,10 @@ security: jwt: # JWT 秘钥 key: SecretKey012345678901234567890123456789012345678901234567890123456789 - # JWT 有效期(单位:秒) - ttl: 7200 + # 访问令牌 有效期(单位:秒),默认 1 小时 + access-token-expiration: 3600 + # 刷新令牌有效期(单位:秒),默认 7 天 + refresh-token-expiration: 604800 # 白名单列表 ignore-urls: - /v3/api-docs/** @@ -75,6 +77,7 @@ security: - /swagger-ui/** - /swagger-ui.html - /api/v1/auth/captcha + - /api/v1/auth/refresh-token - /ws/** # 文件存储配置