generated from Java-2025Fall/final-vibevault-template
更新 src/main/java/com/vibevault/security/JwtService.java
This commit is contained in:
parent
b589d1c923
commit
87e67c8c3c
@ -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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Loading…
Reference in New Issue
Block a user