更新 src/main/java/com/vibevault/security/JwtService.java
All checks were successful
autograde-final-vibevault / check-trigger (push) Successful in 2s
autograde-final-vibevault / grade (push) Has been skipped

This commit is contained in:
张雪尔 2025-12-22 11:00:10 +08:00
parent b589d1c923
commit 87e67c8c3c

View File

@ -97,12 +97,13 @@ public class JwtService {
* token 中提取所有声明 * token 中提取所有声明
*/ */
private Claims extractAllClaims(String token) { private Claims extractAllClaims(String token) {
return Jwts.parserBuilder() // Jwts.builder() 改成 Jwts.parserBuilder()解析Token用parserBuilder
.setSigningKey(getSigningKey()) return Jwts.parser()
.build() .setSigningKey(getSigningKey()) // 这里setSigningKey是parserBuilder的方法
.parseClaimsJws(token) .build()
.getBody(); .parseClaimsJws(token)
} .getBody();
}
/** /**
* 获取签名密钥 * 获取签名密钥
@ -115,21 +116,22 @@ public class JwtService {
* 验证 token 签名和格式 * 验证 token 签名和格式
*/ */
public boolean validateToken(String token) { public boolean validateToken(String token) {
try { try {
Jwts.parserBuilder() // Jwts.builder() 改成 Jwts.parserBuilder()去掉强制类型转换
.setSigningKey(getSigningKey()) Jwts.parser()
.build() .setSigningKey(getSigningKey()) // 解析器才有setSigningKey方法
.parseClaimsJws(token); .build()
return true; .parseClaimsJws(token); // 验证Token
} catch (SecurityException e) { return true;
System.out.println("无效的 JWT 签名"); } catch (SecurityException e) {
} catch (MalformedJwtException e) { System.out.println("无效的 JWT 签名"); // 去掉多余的x:
System.out.println("无效的 JWT token"); } catch (MalformedJwtException e) {
} catch (ExpiredJwtException e) { System.out.println("无效的 JWT token");
System.out.println("JWT token 已过期"); } catch (ExpiredJwtException e) {
} catch (IllegalArgumentException e) { System.out.println("JWT token 已过期");
System.out.println("JWT token 为空或格式错误"); } catch (IllegalArgumentException e) {
} System.out.println("JWT token 为空或格式错误");
return false; }
return false;
} }
} }