feat: 新增JWT刷新token接口
This commit is contained in:
@@ -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
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -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/**
|
||||||
|
|
||||||
# 文件存储配置
|
# 文件存储配置
|
||||||
|
|||||||
@@ -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/**
|
||||||
|
|
||||||
# 文件存储配置
|
# 文件存储配置
|
||||||
|
|||||||
Reference in New Issue
Block a user