This commit is contained in:
2025-11-01 13:33:20 +08:00
parent dce52f2564
commit 746e4a1b6c
2 changed files with 51 additions and 9 deletions

View File

@@ -66,12 +66,29 @@ func ParseJwtToken(tokenStr string, secret string) (*JwtClaims, error) {
return []byte(secret), nil
})
if err != nil || !token.Valid {
if err != nil {
// 检查是否是JWT验证错误
if validationErr, ok := err.(*jwt.ValidationError); ok {
// 如果是过期错误,返回更明确的错误信息
if validationErr.Errors&jwt.ValidationErrorExpired != 0 {
return nil, errors.New("token已过期")
}
// 如果是签名错误,返回签名错误信息
if validationErr.Errors&jwt.ValidationErrorSignatureInvalid != 0 {
return nil, errors.New("token签名无效")
}
// 其他验证错误
return nil, errors.New("token验证失败")
}
return nil, errors.New("invalid JWT")
}
if !token.Valid {
return nil, errors.New("token无效")
}
claims, ok := token.Claims.(jwt.MapClaims)
if !ok || !token.Valid {
if !ok {
return nil, errors.New("invalid JWT claims")
}