diff --git a/v2/auth/jwt.go b/v2/auth/jwt.go index 6aa09a13..b0686944 100644 --- a/v2/auth/jwt.go +++ b/v2/auth/jwt.go @@ -21,18 +21,16 @@ func IsTokenValid(token string, tokenExpireDurationDiff time.Duration) bool { ts := time.Now().Add(tokenExpireDurationDiff) - for _, claim := range []*jwt.NumericDate{ - claims.ExpiresAt, - claims.IssuedAt, - claims.NotBefore, - } { - if claim == nil { - continue - } - - if claim.Before(ts) { - return false - } + if claims.ExpiresAt != nil && ts.Before(claims.ExpiresAt.Time) { + return false + } + + if claims.IssuedAt != nil && ts.After(claims.IssuedAt.Time) { + return false + } + + if claims.NotBefore != nil && ts.After(claims.NotBefore.Time) { + return false } return true