Registered Claims

ClaimMeaningValidate?
issIssuerYes — exact match
subSubject (user ID)Yes
audAudienceYes
expExpirationYes
nbfNot beforeYes
iatIssued atOptional
jtiToken IDFor revocation

OAuth Claims

scope, azp, client_id appear in OAuth access tokens. Use JWT Debugger to inspect.

Custom Claims

Store roles, permissions, tenant ID — but keep tokens small. Large payloads increase every request header size.

Deep Dive

Browse JWT Claims Hub and Glossary.

Understanding JWT Claims Reference — Registered & Custom Claims in Production

Developers search for JWT Claims Reference — Registered & Custom Claims when building API authentication with JSON Web Tokens. JWTs are used by OAuth 2.0, OpenID Connect, Auth0, Firebase, AWS Cognito, and Keycloak. Always validate exp, iss, and aud server-side — decoding alone proves nothing about authenticity.

JWT Structure Recap

Every JWT has three dot-separated segments: header (algorithm), payload (claims), signature (proof). Use JWT Decoder to inspect and JWT Validator to verify before trusting any claim value in production code.

Common Pitfalls

  • Algorithm confusion (none attack) — whitelist allowed algorithms
  • Secrets in the payload — payload is only Base64-encoded, not encrypted
  • Ignoring clock skew on exp and nbf
  • Weak HMAC secrets — use 256-bit random keys
  • Skipping signature verification — always call verify(), not decode()
  • Storing tokens in localStorage — XSS can steal them

Further Reading

Browse related resources: JWT Decoder, JWT Validator, JWT Basics, JWT Authentication, JWT Errors, Algorithms, Glossary, and Learning Path.

Try It Now

FAQ

What are registered JWT claims?

Standard claims defined in RFC 7519: iss, sub, aud, exp, nbf, iat, jti. Libraries often validate exp automatically.

Can I add custom claims?

Yes. Any JSON key works, but avoid putting secrets in the payload — it is only Base64-encoded, not encrypted.