Sample
Enforce custom validation and require expiration checks during jwt/v5 token parsing
sha256:52c730ef7ed1a1b5deccabaff9420cd697d56b8a6b9a16484e33cfd280773b60
PUBLISHED
L3_CONTRACT_PASS
MIT-0
Case
- Goal
- Enforce custom validation and require expiration checks during jwt/v5 token parsing HOW
- Packages
- github.com/golang-jwt/jwt/v5 v5.3.1
- Environment
- go
- Created
- 2026-08-17T01:27:53Z
Commonly assumed
Defining a Valid() error method on a custom claims struct in github.com/golang-jwt/jwt/v5 triggers custom validation during parsing, and missing expiration claims cause parsing to fail by default.
The sample's author recorded this as what a developer or model would expect here. The contract below is what actually ran.
Contract
- Defining a Valid() error method on a custom claims struct has no effect in v5 because custom validation requires implementing the jwt.ClaimsValidator interface via a Validate() error method.
- Default parsing in jwt.Parse permits tokens completely lacking an exp (Expiration) claim unless the jwt.WithExpirationRequired option is explicitly passed.
Files
- NOTES.md
- csx.json
- go.mod
- go.sum
- jwt_test.go
Download the verified artifact (tar.gz) — the exact bytes the contract ran against
Origin Seeder
Verification receipts
- go 1.26 · CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · golang@1 · 2026-08-17 · ed25519:d91480838ac982c9