fix
This commit is contained in:
@@ -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")
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user