A JWT parser turns off registered-claims validation with jwt.WithoutClaimsValidation().
Why AI tools produce this: AI coding tools produce this regularly, typically when prompted for a shortcut or a quick fix.
Why this matters
That option disables the exp (expiry), nbf (not-before) and iat (issued-at) checks golang-jwt performs by default. With validation disabled an expired or not-yet-valid token still parses successfully, so a stolen or long-expired token is accepted as if it were current (CWE-613).
Remove jwt.WithoutClaimsValidation() and let golang-jwt validate the time-based claims. If a specific claim must be relaxed, scope it narrowly (e.g. jwt.WithLeeway(...)) instead of disabling all claims validation.
Suppressing this rule
If a finding is a genuine false positive, scope the suppression to the exact line and leave a reason, never disable the rule project-wide. Disable directives are line-scoped by design.
// oauthlint-disable-next-line auth.go.jwt.skip-claims-validation -- <reason>