feat: JWT 生成支持永不过期(ttl设置为-1)

This commit is contained in:
ray
2024-10-06 13:42:27 +08:00
parent 5d67ab0b62
commit 3fadc0bb96
2 changed files with 7 additions and 5 deletions

View File

@@ -6,7 +6,7 @@
<groupId>com.youlai</groupId>
<artifactId>youlai-boot</artifactId>
<version>2.10.0</version>
<version>2.12.1</version>
<description>基于 Java 17 + SpringBoot 3 + Spring Security 构建的权限管理系统。</description>
<parent>

View File

@@ -70,14 +70,16 @@ public class JwtUtils {
.collect(Collectors.toSet());
payload.put(JwtClaimConstants.AUTHORITIES, roles);
Date now = new Date();
Date expiration = DateUtil.offsetSecond(now, ttl);
payload.put(JWTPayload.ISSUED_AT, now);
payload.put(JWTPayload.EXPIRES_AT, expiration);
// 设置过期时间 -1 表示永不过期
if (ttl != -1) {
Date expiration = DateUtil.offsetSecond(now, ttl);
payload.put(JWTPayload.EXPIRES_AT, expiration);
}
payload.put(JWTPayload.SUBJECT, authentication.getName());
payload.put(JWTPayload.JWT_ID, IdUtil.simpleUUID());
return JWTUtil.createToken(payload, key);
}