Skip to content
We just launched Duende IdentityServer v7.2.0 and BFF v3.0. Check it out!

Protocol and Claim Type Constants

When working with OAuth 2.0, OpenID Connect and claims, there are a lot of ✨magic strings for claim types and protocol values. IdentityModel provides a couple of constant strings classes to help with that.

OAuth 2.0 And OpenID Connect Protocol Values

Section titled “OAuth 2.0 And OpenID Connect Protocol Values”

The OidcConstants class provides a set of constants for OAuth 2.0 and OpenID Connect protocol values.

NameValue
Scopescope
ResponseTyperesponse_type
ClientIdclient_id
RedirectUriredirect_uri
Statestate
ResponseModeresponse_mode
Noncenonce
Displaydisplay
Promptprompt
MaxAgemax_age
UiLocalesui_locales
IdTokenHintid_token_hint
LoginHintlogin_hint
AcrValuesacr_values
CodeChallengecode_challenge
CodeChallengeMethodcode_challenge_method
Requestrequest
RequestUrirequest_uri
Resourceresource
DPoPKeyThumbprintdpop_jkt
NameValue
InvalidRequestinvalid_request
UnauthorizedClientunauthorized_client
AccessDeniedaccess_denied
UnsupportedResponseTypeunsupported_response_type
InvalidScopeinvalid_scope
ServerErrorserver_error
TemporarilyUnavailabletemporarily_unavailable
UnmetAuthenticationRequirementsunmet_authentication_requirements
InteractionRequiredinteraction_required
LoginRequiredlogin_required
AccountSelectionRequiredaccount_selection_required
ConsentRequiredconsent_required
InvalidRequestUriinvalid_request_uri
InvalidRequestObjectinvalid_request_object
RequestNotSupportedrequest_not_supported
RequestUriNotSupportedrequest_uri_not_supported
RegistrationNotSupportedregistration_not_supported
InvalidTargetinvalid_target
NameValue
Scopescope
Codecode
AccessTokenaccess_token
ExpiresInexpires_in
TokenTypetoken_type
RefreshTokenrefresh_token
IdentityTokenid_token
Statestate
SessionStatesession_state
Issueriss
Errorerror
ErrorDescriptionerror_description
NameValue
DeviceCodedevice_code
UserCodeuser_code
VerificationUriverification_uri
VerificationUriCompleteverification_uri_complete
ExpiresInexpires_in
Intervalinterval
NameValue
IdTokenHintid_token_hint
PostLogoutRedirectUripost_logout_redirect_uri
Statestate
Sidsid
Issueriss
UiLocalesui_locales
NameValue
GrantTypegrant_type
RedirectUriredirect_uri
ClientIdclient_id
ClientSecretclient_secret
ClientAssertionclient_assertion
ClientAssertionTypeclient_assertion_type
Assertionassertion
Codecode
RefreshTokenrefresh_token
Scopescope
UserNameusername
Passwordpassword
CodeVerifiercode_verifier
TokenTypetoken_type
Algorithmalg
Keykey
DeviceCodedevice_code
Resourceresource
Audienceaudience
RequestedTokenTyperequested_token_type
SubjectTokensubject_token
SubjectTokenTypesubject_token_type
ActorTokenactor_token
ActorTokenTypeactor_token_type
AuthenticationRequestIdauth_req_id
NameValue
Scopescope
ClientNotificationTokenclient_notification_token
AcrValuesacr_values
LoginHintTokenlogin_hint_token
IdTokenHintid_token_hint
LoginHintlogin_hint
BindingMessagebinding_message
UserCodeuser_code
RequestedExpiryrequested_expiry
Requestrequest
Resourceresource
DPoPKeyThumbprintdpop_jkt
NameValue
InvalidRequestObjectinvalid_request_object
InvalidRequestinvalid_request
InvalidScopeinvalid_scope
ExpiredLoginHintTokenexpired_login_hint_token
UnknownUserIdunknown_user_id
UnauthorizedClientunauthorized_client
MissingUserCodemissing_user_code
InvalidUserCodeinvalid_user_code
InvalidBindingMessageinvalid_binding_message
InvalidClientinvalid_client
AccessDeniedaccess_denied
InvalidTargetinvalid_target
NameValue
Bearerbearer
Poppop
NameValue
InvalidRequestinvalid_request
InvalidClientinvalid_client
InvalidGrantinvalid_grant
UnauthorizedClientunauthorized_client
UnsupportedGrantTypeunsupported_grant_type
UnsupportedResponseTypeunsupported_response_type
InvalidScopeinvalid_scope
AuthorizationPendingauthorization_pending
AccessDeniedaccess_denied
SlowDownslow_down
ExpiredTokenexpired_token
InvalidTargetinvalid_target
InvalidDPoPProofinvalid_dpop_proof
UseDPoPNonceuse_dpop_nonce
NameValue
AccessTokenaccess_token
ExpiresInexpires_in
TokenTypetoken_type
RefreshTokenrefresh_token
IdentityTokenid_token
Errorerror
ErrorDescriptionerror_description
BearerTokenTypeBearer
DPoPTokenTypeDPoP
IssuedTokenTypeissued_token_type
Scopescope
NameValue
AuthenticationRequestIdauth_req_id
ExpiresInexpires_in
Intervalinterval
NameValue
ExpiresInexpires_in
RequestUrirequest_uri
NameValue
Tokentoken
TokenTypeHinttoken_type_hint
NameValue
Errorerror
ErrorDescriptionerror_description
ClientIdclient_id
ClientSecretclient_secret
RegistrationAccessTokenregistration_access_token
RegistrationClientUriregistration_client_uri
ClientIdIssuedAtclient_id_issued_at
ClientSecretExpiresAtclient_secret_expires_at
SoftwareStatementsoftware_statement
NameValue
RedirectUrisredirect_uris
ResponseTypesresponse_types
GrantTypesgrant_types
ApplicationTypeapplication_type
Contactscontacts
ClientNameclient_name
LogoUrilogo_uri
ClientUriclient_uri
PolicyUripolicy_uri
TosUritos_uri
JwksUrijwks_uri
Jwksjwks
SectorIdentifierUrisector_identifier_uri
Scopescope
PostLogoutRedirectUrispost_logout_redirect_uris
FrontChannelLogoutUrifrontchannel_logout_uri
FrontChannelLogoutSessionRequiredfrontchannel_logout_session_required
BackchannelLogoutUribackchannel_logout_uri
BackchannelLogoutSessionRequiredbackchannel_logout_session_required
SoftwareIdsoftware_id
SoftwareStatementsoftware_statement
SoftwareVersionsoftware_version
SubjectTypesubject_type
TokenEndpointAuthenticationMethodtoken_endpoint_auth_method
TokenEndpointAuthenticationSigningAlgorithmtoken_endpoint_auth_signing_alg
DefaultMaxAgedefault_max_age
RequireAuthenticationTimerequire_auth_time
DefaultAcrValuesdefault_acr_values
InitiateLoginUriinitiate_login_uri
RequestUrisrequest_uris
IdentityTokenSignedResponseAlgorithmid_token_signed_response_alg
IdentityTokenEncryptedResponseAlgorithmid_token_encrypted_response_alg
IdentityTokenEncryptedResponseEncryptionid_token_encrypted_response_enc
UserinfoSignedResponseAlgorithmuserinfo_signed_response_alg
UserInfoEncryptedResponseAlgorithmuserinfo_encrypted_response_alg
UserinfoEncryptedResponseEncryptionuserinfo_encrypted_response_enc
RequestObjectSigningAlgorithmrequest_object_signing_alg
RequestObjectEncryptionAlgorithmrequest_object_encryption_alg
RequestObjectEncryptionEncryptionrequest_object_encryption_enc
RequireSignedRequestObjectrequire_signed_request_object
AlwaysUseDPoPBoundAccessTokensdpop_bound_access_tokens
IntrospectionSignedResponseAlgorithmintrospection_signed_response_alg
IntrospectionEncryptedResponseAlgorithmintrospection_encrypted_response_alg
IntrospectionEncryptedResponseEncryptionintrospection_encrypted_response_enc
NameValue
AccessTokenaccess_token
IdentityTokenid_token
RefreshTokenrefresh_token
NameValue
AccessTokenurn:ietf:params:oauth:token-type:access_token
IdentityTokenurn:ietf:params:oauth:token-type:id_token
RefreshTokenurn:ietf:params:oauth:token-type:refresh_token
Saml11urn:ietf:params:oauth:token-type:saml1
Saml2urn:ietf:params:oauth:token-type:saml2
Jwturn:ietf:params:oauth:token-type:jwt
NameValue
AuthorizationHeaderBearerBearer
AuthorizationHeaderDPoPDPoP
FormPostBeareraccess_token
QueryStringBeareraccess_token
AuthorizationHeaderPopPoP
FormPostPoppop_access_token
QueryStringPoppop_access_token
NameValue
Passwordpassword
AuthorizationCodeauthorization_code
ClientCredentialsclient_credentials
RefreshTokenrefresh_token
Implicitimplicit
Saml2Bearerurn:ietf:params:oauth:grant-type:saml2-bearer
JwtBearerurn:ietf:params:oauth:grant-type:jwt-bearer
DeviceCodeurn:ietf:params:oauth:grant-type:device_code
TokenExchangeurn:ietf:params:oauth:grant-type:token-exchange
Cibaurn:openid:params:grant-type:ciba
NameValue
JwtBearerurn:ietf:params:oauth:client-assertion-type:jwt-bearer
SamlBearerurn:ietf:params:oauth:client-assertion-type:saml2-bearer
NameValue
Codecode
Tokentoken
IdTokenid_token
IdTokenTokenid_token token
CodeIdTokencode id_token
CodeTokencode token
CodeIdTokenTokencode id_token token
NameValue
FormPostform_post
Queryquery
Fragmentfragment
NameValue
Pagepage
Popuppopup
Touchtouch
Wapwap
NameValue
Nonenone
Loginlogin
Consentconsent
SelectAccountselect_account
Createcreate
NameValue
Plainplain
Sha256S256
NameValue
InvalidTokeninvalid_token
ExpiredTokenexpired_token
InvalidRequestinvalid_request
InsufficientScopeinsufficient_scope
NameValue
PostBodyclient_secret_post
BasicAuthenticationclient_secret_basic
PrivateKeyJwtprivate_key_jwt
TlsClientAuthtls_client_auth
SelfSignedTlsClientAuthself_signed_tls_client_auth
NameValue
FacialRecognitionface
FingerprintBiometricfpt
Geolocationgeo
ProofOfPossessionHardwareSecuredKeyhwk
IrisScanBiometriciris
KnowledgeBasedAuthenticationkba
MultipleChannelAuthenticationmca
MultiFactorAuthenticationmfa
OneTimePasswordotp
PersonalIdentificationOrPatternpin
ProofOfPossessionKeypop
Passwordpwd
RiskBasedAuthenticationrba
RetinaScanBiometricretina
SmartCardsc
ConfirmationBySmssms
ProofOfPossessionSoftwareSecuredKeyswk
ConfirmationByTelephonetel
UserPresenceTestuser
VoiceBiometricvbm
WindowsIntegratedAuthenticationwia
NameValue
HS256HS256
HS384HS384
HS512HS512
NameValue
RS256RS256
RS384RS384
RS512RS512
ES256ES256
ES384ES384
ES512ES512
PS256PS256
PS384PS384
PS512PS512
NameValue
Issuerissuer
AuthorizationEndpointauthorization_endpoint
DeviceAuthorizationEndpointdevice_authorization_endpoint
TokenEndpointtoken_endpoint
UserInfoEndpointuserinfo_endpoint
IntrospectionEndpointintrospection_endpoint
RevocationEndpointrevocation_endpoint
DiscoveryEndpoint.well-known/openid-configuration
JwksUrijwks_uri
EndSessionEndpointend_session_endpoint
CheckSessionIframecheck_session_iframe
RegistrationEndpointregistration_endpoint
MtlsEndpointAliasesmtls_endpoint_aliases
PushedAuthorizationRequestEndpointpushed_authorization_request_endpoint
FrontChannelLogoutSupportedfrontchannel_logout_supported
FrontChannelLogoutSessionSupportedfrontchannel_logout_session_supported
BackChannelLogoutSupportedbackchannel_logout_supported
BackChannelLogoutSessionSupportedbackchannel_logout_session_supported
GrantTypesSupportedgrant_types_supported
CodeChallengeMethodsSupportedcode_challenge_methods_supported
ScopesSupportedscopes_supported
SubjectTypesSupportedsubject_types_supported
ResponseModesSupportedresponse_modes_supported
ResponseTypesSupportedresponse_types_supported
ClaimsSupportedclaims_supported
TokenEndpointAuthenticationMethodsSupportedtoken_endpoint_auth_methods_supported
ClaimsLocalesSupportedclaims_locales_supported
ClaimsParameterSupportedclaims_parameter_supported
ClaimTypesSupportedclaim_types_supported
DisplayValuesSupporteddisplay_values_supported
AcrValuesSupportedacr_values_supported
IdTokenEncryptionAlgorithmsSupportedid_token_encryption_alg_values_supported
IdTokenEncryptionEncValuesSupportedid_token_encryption_enc_values_supported
IdTokenSigningAlgorithmsSupportedid_token_signing_alg_values_supported
OpPolicyUriop_policy_uri
OpTosUriop_tos_uri
RequestObjectEncryptionAlgorithmsSupportedrequest_object_encryption_alg_values_supported
RequestObjectEncryptionEncValuesSupportedrequest_object_encryption_enc_values_supported
RequestObjectSigningAlgorithmsSupportedrequest_object_signing_alg_values_supported
RequestParameterSupportedrequest_parameter_supported
RequestUriParameterSupportedrequest_uri_parameter_supported
RequireRequestUriRegistrationrequire_request_uri_registration
ServiceDocumentationservice_documentation
TokenEndpointAuthSigningAlgorithmsSupportedtoken_endpoint_auth_signing_alg_values_supported
UILocalesSupportedui_locales_supported
UserInfoEncryptionAlgorithmsSupporteduserinfo_encryption_alg_values_supported
UserInfoEncryptionEncValuesSupporteduserinfo_encryption_enc_values_supported
UserInfoSigningAlgorithmsSupporteduserinfo_signing_alg_values_supported
TlsClientCertificateBoundAccessTokenstls_client_certificate_bound_access_tokens
AuthorizationResponseIssParameterSupportedauthorization_response_iss_parameter_supported
PromptValuesSupportedprompt_values_supported
IntrospectionSigningAlgorithmsSupportedintrospection_signing_alg_values_supported
IntrospectionEncryptionAlgorithmsSupportedintrospection_encryption_alg_values_supported
IntrospectionEncryptionEncValuesSupportedintrospection_encryption_enc_values_supported
NameValue
Pollpoll
Pingping
Pushpush
NameValue
BackChannelLogouthttp://schemas.openid.net/event/backchannel-logout
NameValue
LogoutTokenlogout_token
NameValueDescription
OpenIdopenidREQUIRED. Indicates the Client is making an OpenID Connect request. The behavior is unspecified if this is not included.
ProfileprofileOPTIONAL. Requests access to End-User’s default profile Claims such as name, family_name, given_name, etc.
EmailemailOPTIONAL. Requests access to the email and email_verified Claims.
AddressaddressOPTIONAL. Requests access to the address Claim.
PhonephoneOPTIONAL. Requests access to phone_number and phone_number_verified Claims.
OfflineAccessoffline_accessMUST NOT be used with the OpenID Connect Implicit Client Implementer’s Guide. Used in accordance with the OpenID Connect Basic Client Implementer’s Guide.
NameValue
DPoPDPoP
DPoPNonceDPoP-Nonce

The JwtClaimTypes class has all standard claim types found in the OpenID Connect, JWT and OAuth 2.0 specs -many of them are also aggregated at IANA.

Claim TypeValueDescription/Remarks
SubjectsubUnique Identifier for the End-User at the Issuer.
NamenameEnd-User’s full name in displayable form including all name parts, possibly including titles and suffixes, ordered according to the End-User’s locale and preferences.
GivenNamegiven_nameGiven name(s) or first name(s) of the End-User. Note that in some cultures, people can have multiple given names; all can be present, with the names being separated by space characters.
FamilyNamefamily_nameSurname(s) or last name(s) of the End-User. Note that in some cultures, people can have multiple family names or no family name; all can be present, with the names being separated by space characters.
MiddleNamemiddle_nameMiddle name(s) of the End-User. Note that in some cultures, people can have multiple middle names; all can be present, with the names being separated by space characters. Also note that in some cultures, middle names are not used.
NickNamenicknameCasual name of the End-User that may or may not be the same as the given_name. For instance, a nickname value of Mike might be returned alongside a given_name value of Michael.
PreferredUserNamepreferred_usernameShorthand name by which the End-User wishes to be referred to at the RP, such as janedoe or j.doe. This value MAY be any valid JSON string including special characters. Remarks: The relying party MUST NOT rely upon this value being unique, as discussed in the OpenID Connect specification.
ProfileprofileURL of the End-User’s profile page. The contents of this Web page SHOULD be about the End-User.
PicturepictureURL of the End-User’s profile picture. This URL MUST refer to an image file (e.g., PNG, JPEG, or GIF image file). Remarks: This URL SHOULD specifically reference a profile photo of the End-User rather than an arbitrary photo.
WebSitewebsiteURL of the End-User’s Web page or blog. This Web page SHOULD contain information published by the End-User or an organization related to the End-User.
EmailemailEnd-User’s preferred e-mail address. Its value MUST conform to the RFC 5322 syntax. The relying party MUST NOT rely upon this value being unique.
EmailVerifiedemail_verified"true" if the End-User’s e-mail address has been verified; otherwise "false". Remarks: Verification methods vary depending on trust frameworks or agreements.
GendergenderEnd-User’s gender. Allowed values include "female" and "male", with additional values permissible when the predefined ones are not applicable.
BirthDatebirthdateEnd-User’s birthday in ISO 8601 format (e.g., YYYY-MM-DD). The year MAY be 0000, indicating it is omitted.
ZoneInfozoneinfoString representing the End-User’s time zone, e.g., Europe/Paris or America/Los_Angeles.
LocalelocaleEnd-User’s locale represented as a BCP47 language tag (e.g., en-US, fr-CA). Compatibility notes suggest some implementations may use underscores instead of dashes.
PhoneNumberphone_numberEnd-User’s preferred telephone number. E.164 format is recommended, including extensions.
PhoneNumberVerifiedphone_number_verified"true" if the End-User’s phone number has been verified; otherwise "false". Remarks: Applies to numbers in E.164 format.
AddressaddressEnd-User’s preferred postal address. Contains a JSON structure with predefined fields from the OpenID Connect specification.
AudienceaudAudience(s) that this ID Token is intended for. It MUST contain the OAuth 2.0 client_id of the Relying Party.
IssuerissIssuer Identifier for the Issuer of the response in the form of a URL.
NotBeforenbfThe time before which the JWT MUST NOT be accepted, specified in seconds since 1970-01-01T00:00:00Z.
ExpirationexpThe token’s expiration time in seconds since 1970-01-01T00:00:00Z.
UpdatedAtupdated_atTime of last update for the End-User’s information, measured in seconds since 1970-01-01T00:00:00Z.
IssuedAtiatTime at which the JWT was issued, specified in seconds since 1970-01-01T00:00:00Z.
AuthenticationMethodamrJSON array of strings identifying the authentication method(s) used.
SessionIdsidSession identifier representing an OP session at an RP for a logged-in End-User.
AuthenticationContextClassReferenceacrSpecifies the Authentication Context Class Reference value satisfied during authentication. Remarks: Example: "level 0" indicates authentication did not meet ISO/IEC 29115 level 1.
AuthenticationTimeauth_timeTime of the End-User’s authentication, measured in seconds since 1970-01-01T00:00:00Z.
AuthorizedPartyazpAuthorized party to which the ID Token was issued.
AccessTokenHashat_hashAccess token hash value derived using a specific hash algorithm.
AuthorizationCodeHashc_hashAuthorization code hash value derived using a specific hash algorithm.
StateHashs_hashState hash value derived using a specific hash algorithm.
NoncenonceValue used to mitigate replay attacks between a Client session and an ID Token.
JwtIdjtiA unique identifier for the token to prevent reuse.
EventseventsDefines a set of event statements to describe a logical event that has occurred.
ClientIdclient_idOAuth 2.0 Client Identifier valid at the Authorization Server.
ScopescopeOpenID Connect “openid” scope value. Additional scope values can be included.
ActoractIdentifies the acting party to whom authority has been delegated.
MayActmay_actStatement asserting that a party is authorized to act on behalf of another party.
IdidAn identifier.
IdentityProvideridpThe identity provider.
RoleroleThe role.
RolesrolesThe roles.
ReferenceTokenIdreference_token_idReference token identifier.
ConfirmationcnfThe confirmation.
AlgorithmalgThe algorithm.
JsonWebKeyjwkJSON web key.
TokenTypetypThe token type.
DPoPHttpMethodhtmDPoP HTTP method.
DPoPHttpUrlhtuDPoP HTTP URL.
DPoPAccessTokenHashathDPoP access token hash.

JwtTypes is a nested class that provides a set of constants for confirmation methods. It can be found under the JwtConstants class.

TypeValueDescription
AccessTokenat+jwtOAuth 2.0 access token.
AuthorizationRequestoauth-authz-req+jwtJWT secured authorization request.
DPoPProofTokendpop+jwtDPoP proof token.
IntrospectionJwtResponsetoken-introspection+jwtToken introspection JWT response.

ConfirmationMethods is a nested class that provides a set of constants for confirmation methods. It can be found under the JwtConstants class.

MethodValueDescription
JsonWebKeyjwkJSON web key.
JwkThumbprintjktJSON web key thumbprint.
X509ThumbprintSha256x5t#S256X.509 certificate thumbprint using SHA256.