springboot jwt设置过期时间
时间: 2023-10-15 17:14:11 浏览: 515
springboot整合ehcache 设置缓存过期时间 简单示例
在 Spring Boot 中使用 JWT 进行身份认证时,可以通过设置 JWT 的过期时间来控制令牌的有效期。下面是设置 JWT 过期时间的步骤:
1. 在 application.properties 或 application.yml 中配置 JWT 的过期时间,例如:
```yaml
jwt:
secret: mysecret
expiration: 86400000 # 过期时间为 24 小时,单位为毫秒
```
2. 在代码中获取 JWT 的过期时间,并在生成 JWT 时设置过期时间,例如:
```java
@Value("${jwt.secret}")
private String secret;
@Value("${jwt.expiration}")
private long expiration;
public String generateToken(UserDetails userDetails) {
Date now = new Date();
Date expiryDate = new Date(now.getTime() + expiration);
return Jwts.builder()
.setSubject(userDetails.getUsername())
.setIssuedAt(now)
.setExpiration(expiryDate)
.signWith(SignatureAlgorithm.HS512, secret)
.compact();
}
```
在上面的代码中,通过 @Value 注解获取了配置文件中的 secret 和 expiration 属性,并在生成 JWT 时设置了过期时间为当前时间加上过期时间。
需要注意的是,过期时间的单位为毫秒,因此需要根据实际需求设置合适的过期时间。
阅读全文