JWT developer reference

JWT Claims Reference

When I debug a JWT, I read each claim in context: who issued it, who it is for, when it is valid and what authorization data the application actually understands.

48 / 48

JWT registered claims (RFC 7519)

iss

Issuer

stringRFC 7519 §4.1.1

Identifies the principal that issued the JWT.

Validation: Compare exactly with an issuer your application already trusts.

sub

Subject

stringRFC 7519 §4.1.2

Identifies the subject represented by the JWT.

Validation: Interpret only inside the issuer namespace and after issuer validation.

aud

Audience

string | string[]RFC 7519 §4.1.3

Identifies intended recipients of the JWT.

Validation: Require the resource server's expected audience to be present.

exp

Expiration time

NumericDateRFC 7519 §4.1.4

Time after which the JWT must not be accepted.

Validation: Reject after exp, allowing only a small configured clock tolerance.

nbf

Not before

NumericDateRFC 7519 §4.1.5

Time before which the JWT must not be accepted.

Validation: Reject before nbf, subject to configured clock tolerance.

iat

Issued at

NumericDateRFC 7519 §4.1.6

Time at which the JWT was issued.

Validation: Use for age/lifetime policy; reject implausible future values.

jti

JWT ID

stringRFC 7519 §4.1.7

Unique identifier for the JWT.

Validation: Use with application state when replay detection or revocation requires uniqueness.

OpenID Connect identity and ID Token claims

azp

Authorized party

stringOIDC Core §2

Identifies the party to which the ID Token was issued.

Validation: Check when the ID Token has multiple audiences or your client policy requires it.

nonce

Nonce

stringOIDC Core §2

Binds an ID Token to the browser/client authentication request.

Validation: Compare with the nonce stored for the authorization request to prevent replay.

auth_time

Authentication time

NumericDateOIDC Core §2

Time when end-user authentication occurred.

Validation: Use when max_age or reauthentication policy depends on authentication age.

acr

Authentication context class

stringOIDC Core §2

Identifier for the authentication context class achieved.

Validation: Interpret only against assurance levels your application explicitly recognizes.

amr

Authentication methods

string[]OIDC Core §2

Lists authentication methods used, such as password or MFA-related methods.

Validation: Do not infer assurance from unknown values; use issuer-defined semantics.

at_hash

Access token hash

stringOIDC Core §3.1.3.6

Hash-derived value that can bind an access token to an ID Token.

Validation: Validate when required by the OIDC flow and response type.

c_hash

Authorization code hash

stringOIDC Core §3.3.2.11

Hash-derived value that can bind an authorization code to an ID Token.

Validation: Validate when the OIDC response type requires it.

s_hash

State hash

stringOIDC FAPI / registered claim

Hash-derived value used by profiles to bind state to a signed response.

Validation: Apply only when the active OIDC/FAPI profile requires it.

sid

Session ID

stringOpenID Connect Session Management

Identifier for an OpenID Provider session.

Validation: Treat as issuer-scoped session metadata, not a globally unique user identifier.

name

Full name

stringOIDC Core §5.1

End-user's full display name.

Validation: Profile data; do not use as a stable authorization identifier.

given_name

Given name

stringOIDC Core §5.1

End-user's given or first name.

Validation: Profile data; presentation and localization rules may apply.

family_name

Family name

stringOIDC Core §5.1

End-user's surname or last name.

Validation: Profile data; do not assume uniqueness.

middle_name

Middle name

stringOIDC Core §5.1

End-user's middle name.

Validation: Optional profile data.

nickname

Nickname

stringOIDC Core §5.1

Casual name by which the end-user may be addressed.

Validation: Presentation data only.

preferred_username

Preferred username

stringOIDC Core §5.1

Shorthand name the end-user prefers.

Validation: Do not assume global uniqueness or immutability.

profile

Profile URL

URL stringOIDC Core §5.1

URL of the end-user's profile page.

Validation: Treat as profile data and validate URL handling before rendering links.

picture

Picture URL

URL stringOIDC Core §5.1

URL of the end-user's profile picture.

Validation: Treat as untrusted remote content when rendering.

website

Website URL

URL stringOIDC Core §5.1

URL of the end-user's web page or blog.

Validation: Treat as untrusted profile data.

email

Email

stringOIDC Core §5.1

End-user's preferred email address.

Validation: Do not treat as verified unless email_verified is true and the issuer is trusted.

email_verified

Email verified

booleanOIDC Core §5.1

Indicates whether the issuer has verified control of the email address.

Validation: Meaning is issuer-specific; validate issuer trust before relying on it.

gender

Gender

stringOIDC Core §5.1

End-user's gender value as supplied by the issuer.

Validation: Optional profile data; minimize collection where unnecessary.

birthdate

Birthdate

stringOIDC Core §5.1

End-user's birthday in an ISO 8601 compatible form.

Validation: Sensitive profile data; avoid using it as an authentication factor.

zoneinfo

Time zone

stringOIDC Core §5.1

End-user's time zone identifier.

Validation: Presentation/profile preference only.

locale

Locale

BCP 47 stringOIDC Core §5.1

End-user's locale preference.

Validation: Use for presentation; do not make trust decisions from locale.

phone_number

Phone number

stringOIDC Core §5.1

End-user's preferred telephone number.

Validation: Do not treat as verified unless phone_number_verified is true and issuer trust is established.

phone_number_verified

Phone verified

booleanOIDC Core §5.1

Indicates whether the issuer verified control of the phone number.

Validation: Meaning depends on issuer policy and verification method.

address

Postal address

objectOIDC Core §5.1

Structured postal address object.

Validation: Sensitive profile data; validate nested fields before display.

updated_at

Profile updated time

NumericDateOIDC Core §5.1

Time when the end-user information was last updated.

Validation: Use only as profile freshness metadata.

OAuth JWT access-token and authorization claims

client_id

Client ID

stringRFC 9068 §2.2

Identifies the OAuth client associated with the access token.

Validation: Compare only when resource-server policy depends on a specific client.

scope

OAuth scopes

space-delimited stringRFC 9068 §2.2.3 / RFC 8693

Delegated permissions associated with the access token.

Validation: Authorize only scopes your resource understands and that apply to the token audience.

roles

Roles

string[]RFC 9068 §2.2.3.1 / RFC 7643

Role values used for authorization outside simple delegated-scope models.

Validation: Treat semantics as issuer/resource-specific; deny unknown roles by default.

groups

Groups

string[]RFC 9068 §2.2.3.1 / RFC 7643

Group membership values carried for authorization decisions.

Validation: Do not assume naming or nesting semantics across issuers.

entitlements

Entitlements

string[]RFC 9068 §2.2.3.1 / RFC 7643

Entitlement values representing rights or permissions.

Validation: Require an application-defined mapping from entitlement to allowed action.

cnf

Confirmation

objectRFC 7800

Declares proof-of-possession key confirmation information.

Validation: Validate the confirmation method required by the active token/profile instead of treating cnf as informational.

act

Actor

objectRFC 8693 §4.1

Identifies the acting party in delegated or impersonation scenarios.

Validation: Distinguish actor from subject when applying authorization or audit policy.

may_act

May act

objectRFC 8693 §4.4

Identifies parties authorized to act for the subject.

Validation: Use only in token-exchange designs that explicitly define delegation policy.

Common private and vendor-style authorization claims

permissions

Permissions

string[]Private claim

Common application-specific list of allowed actions.

Validation: Private claim: define exact issuer, audience and permission semantics in your application.

role

Role

string | string[]Private claim

Singular or multi-valued application role convention.

Validation: Do not assume equivalence with roles; map it explicitly per issuer.

tenant

Tenant

stringPrivate claim

Common convention for tenant or organization routing.

Validation: Never use a tenant value to establish issuer trust; validate it against authenticated context.

org_id

Organization ID

stringPrivate claim

Common organization identifier used by SaaS authorization models.

Validation: Treat as issuer-specific and enforce resource membership separately.

token_use

Token use

stringVendor/private claim

Common vendor convention distinguishing token purposes such as access or identity.

Validation: Use only when documented by the issuer; prefer standardized typ/profile rules where available.