OAuth2ClientMetadata uses ConstantsTrait
Enumeration of OAuth 2.0 / OpenID Connect client metadata field names.
These are the members of the JSON object sent to (and returned by) the Dynamic Client Registration endpoint. Three layers are exposed here:
- Client metadata — RFC 7591 §2 (the registration request).
- Registration response / management — RFC 7591 §3.2.1 and the client configuration endpoint of RFC 7592.
- OpenID Connect — additional metadata from OpenID Connect Dynamic Client Registration 1.0 and the OIDC logout specifications.
This is the client-side counterpart of OidcDiscoveryField, which describes the authorization server's own metadata.
Example:
$registration =
[
OAuth2ClientMetadata::CLIENT_NAME => 'My App' ,
OAuth2ClientMetadata::REDIRECT_URIS => [ 'https://app.example/cb' ] ,
OAuth2ClientMetadata::GRANT_TYPES => [ OAuth2GrantType::AUTHORIZATION_CODE ] ,
OAuth2ClientMetadata::RESPONSE_TYPES => [ OAuth2ResponseType::CODE ] ,
OAuth2ClientMetadata::TOKEN_ENDPOINT_AUTH_METHOD => OAuth2TokenEndpointAuthMethod::PRIVATE_KEY_JWT ,
OAuth2ClientMetadata::SCOPE => 'openid profile email' ,
OAuth2ClientMetadata::JWKS_URI => 'https://app.example/jwks.json' ,
] ;
References:
- RFC 7591 (OAuth 2.0 Dynamic Client Registration Protocol)
- RFC 7592 (OAuth 2.0 Dynamic Client Registration Management Protocol)
- OpenID Connect Dynamic Client Registration 1.0
- OpenID Connect RP-Initiated Logout / Front-Channel / Back-Channel Logout 1.0
- IANA OAuth Dynamic Client Registration Metadata registry
Tags
Table of Contents
Constants
- APPLICATION_TYPE : string = 'application_type'
- `application_type` — Kind of the application, `web` or `native` (OIDC DCR §2).
- BACKCHANNEL_LOGOUT_SESSION_REQUIRED : string = 'backchannel_logout_session_required'
- `backchannel_logout_session_required` — Whether a `sid` is required in the Logout Token (OIDC Back-Channel Logout 1.0).
- BACKCHANNEL_LOGOUT_URI : string = 'backchannel_logout_uri'
- `backchannel_logout_uri` — URI invoked for back-channel logout (OIDC Back-Channel Logout 1.0).
- CLIENT_ID : string = 'client_id'
- `client_id` — Issued client identifier (RFC 7591 §3.2.1).
- CLIENT_ID_ISSUED_AT : string = 'client_id_issued_at'
- `client_id_issued_at` — Time the `client_id` was issued, as a NumericDate (RFC 7591 §3.2.1).
- CLIENT_NAME : string = 'client_name'
- `client_name` — Human-readable name of the client (RFC 7591 §2).
- CLIENT_SECRET : string = 'client_secret'
- `client_secret` — Issued client secret, when applicable (RFC 7591 §3.2.1).
- CLIENT_SECRET_EXPIRES_AT : string = 'client_secret_expires_at'
- `client_secret_expires_at` — Expiration time of the `client_secret`, or `0` if it never expires, as a NumericDate (RFC 7591 §3.2.1).
- CLIENT_URI : string = 'client_uri'
- `client_uri` — URL of the client's home page (RFC 7591 §2).
- CONTACTS : string = 'contacts'
- `contacts` — Array of e-mail addresses of people responsible for the client (RFC 7591 §2).
- DEFAULT_ACR_VALUES : string = 'default_acr_values'
- `default_acr_values` — Default requested Authentication Context Class Reference values (OIDC DCR §2).
- DEFAULT_MAX_AGE : string = 'default_max_age'
- `default_max_age` — Default Maximum Authentication Age, in seconds (OIDC DCR §2).
- FRONTCHANNEL_LOGOUT_SESSION_REQUIRED : string = 'frontchannel_logout_session_required'
- `frontchannel_logout_session_required` — Whether a `sid` is required at the front-channel logout URI (OIDC Front-Channel Logout 1.0).
- FRONTCHANNEL_LOGOUT_URI : string = 'frontchannel_logout_uri'
- `frontchannel_logout_uri` — URI invoked for front-channel logout (OIDC Front-Channel Logout 1.0).
- GRANT_TYPES : string = 'grant_types'
- `grant_types` — Array of grant types the client may use (RFC 7591 §2).
- ID_TOKEN_ENCRYPTED_RESPONSE_ALG : string = 'id_token_encrypted_response_alg'
- `id_token_encrypted_response_alg` — JWE `alg` for encrypting the ID Token (OIDC DCR §2).
- ID_TOKEN_ENCRYPTED_RESPONSE_ENC : string = 'id_token_encrypted_response_enc'
- `id_token_encrypted_response_enc` — JWE `enc` for encrypting the ID Token (OIDC DCR §2).
- ID_TOKEN_SIGNED_RESPONSE_ALG : string = 'id_token_signed_response_alg'
- `id_token_signed_response_alg` — JWS `alg` for signing the ID Token (OIDC DCR §2).
- INITIATE_LOGIN_URI : string = 'initiate_login_uri'
- `initiate_login_uri` — URI a third party can use to initiate login at the client (OIDC DCR §2).
- JWKS : string = 'jwks'
- `jwks` — Client's JSON Web Key Set by value (RFC 7591 §2). Mutually exclusive with {@see self::JWKS_URI}.
- JWKS_URI : string = 'jwks_uri'
- `jwks_uri` — URL of the client's JSON Web Key Set document (RFC 7591 §2).
- LOGO_URI : string = 'logo_uri'
- `logo_uri` — URL of the client's logo (RFC 7591 §2).
- POLICY_URI : string = 'policy_uri'
- `policy_uri` — URL of the client's privacy policy (RFC 7591 §2).
- POST_LOGOUT_REDIRECT_URIS : string = 'post_logout_redirect_uris'
- `post_logout_redirect_uris` — Array of redirect URIs allowed after logout (OIDC RP-Initiated Logout 1.0).
- REDIRECT_URIS : string = 'redirect_uris'
- `redirect_uris` — Array of redirection URIs used by the client (RFC 7591 §2).
- REGISTRATION_ACCESS_TOKEN : string = 'registration_access_token'
- `registration_access_token` — Bearer token to access the client configuration endpoint (RFC 7592 §3).
- REGISTRATION_CLIENT_URI : string = 'registration_client_uri'
- `registration_client_uri` — URL of the client configuration endpoint (RFC 7592 §3).
- REQUEST_OBJECT_ENCRYPTION_ALG : string = 'request_object_encryption_alg'
- `request_object_encryption_alg` — JWE `alg` for encrypting Request Objects (OIDC DCR §2).
- REQUEST_OBJECT_ENCRYPTION_ENC : string = 'request_object_encryption_enc'
- `request_object_encryption_enc` — JWE `enc` for encrypting Request Objects (OIDC DCR §2).
- REQUEST_OBJECT_SIGNING_ALG : string = 'request_object_signing_alg'
- `request_object_signing_alg` — JWS `alg` for signing Request Objects (OIDC DCR §2).
- REQUEST_URIS : string = 'request_uris'
- `request_uris` — Array of pre-registered `request_uri` values (OIDC DCR §2).
- REQUIRE_AUTH_TIME : string = 'require_auth_time'
- `require_auth_time` — Whether the `auth_time` claim is always required (OIDC DCR §2).
- RESPONSE_TYPES : string = 'response_types'
- `response_types` — Array of response types the client may use (RFC 7591 §2).
- SCOPE : string = 'scope'
- `scope` — Space-separated list of scopes the client may request (RFC 7591 §2).
- SECTOR_IDENTIFIER_URI : string = 'sector_identifier_uri'
- `sector_identifier_uri` — URL providing the redirect URIs used to compute a pairwise `sub` value (OIDC DCR §2).
- SOFTWARE_ID : string = 'software_id'
- `software_id` — Unique identifier for the client software (RFC 7591 §2).
- SOFTWARE_STATEMENT : string = 'software_statement'
- `software_statement` — Signed JWT asserting client metadata (RFC 7591 §2.3).
- SOFTWARE_VERSION : string = 'software_version'
- `software_version` — Version of the client software (RFC 7591 §2).
- SUBJECT_TYPE : string = 'subject_type'
- `subject_type` — Requested subject identifier type (OIDC DCR §2).
- TOKEN_ENDPOINT_AUTH_METHOD : string = 'token_endpoint_auth_method'
- `token_endpoint_auth_method` — Client authentication method for the token endpoint (RFC 7591 §2). See {@see OAuth2TokenEndpointAuthMethod}.
- TOKEN_ENDPOINT_AUTH_SIGNING_ALG : string = 'token_endpoint_auth_signing_alg'
- `token_endpoint_auth_signing_alg` — JWS `alg` for client assertions at the token endpoint (OIDC DCR §2).
- TOS_URI : string = 'tos_uri'
- `tos_uri` — URL of the client's terms of service (RFC 7591 §2).
- USERINFO_ENCRYPTED_RESPONSE_ALG : string = 'userinfo_encrypted_response_alg'
- `userinfo_encrypted_response_alg` — JWE `alg` for encrypting UserInfo responses (OIDC DCR §2).
- USERINFO_ENCRYPTED_RESPONSE_ENC : string = 'userinfo_encrypted_response_enc'
- `userinfo_encrypted_response_enc` — JWE `enc` for encrypting UserInfo responses (OIDC DCR §2).
- USERINFO_SIGNED_RESPONSE_ALG : string = 'userinfo_signed_response_alg'
- `userinfo_signed_response_alg` — JWS `alg` for signing UserInfo responses (OIDC DCR §2).
Constants
APPLICATION_TYPE
`application_type` — Kind of the application, `web` or `native` (OIDC DCR §2).
public
string
APPLICATION_TYPE
= 'application_type'
BACKCHANNEL_LOGOUT_SESSION_REQUIRED
`backchannel_logout_session_required` — Whether a `sid` is required in the Logout Token (OIDC Back-Channel Logout 1.0).
public
string
BACKCHANNEL_LOGOUT_SESSION_REQUIRED
= 'backchannel_logout_session_required'
BACKCHANNEL_LOGOUT_URI
`backchannel_logout_uri` — URI invoked for back-channel logout (OIDC Back-Channel Logout 1.0).
public
string
BACKCHANNEL_LOGOUT_URI
= 'backchannel_logout_uri'
CLIENT_ID
`client_id` — Issued client identifier (RFC 7591 §3.2.1).
public
string
CLIENT_ID
= 'client_id'
CLIENT_ID_ISSUED_AT
`client_id_issued_at` — Time the `client_id` was issued, as a NumericDate (RFC 7591 §3.2.1).
public
string
CLIENT_ID_ISSUED_AT
= 'client_id_issued_at'
CLIENT_NAME
`client_name` — Human-readable name of the client (RFC 7591 §2).
public
string
CLIENT_NAME
= 'client_name'
CLIENT_SECRET
`client_secret` — Issued client secret, when applicable (RFC 7591 §3.2.1).
public
string
CLIENT_SECRET
= 'client_secret'
CLIENT_SECRET_EXPIRES_AT
`client_secret_expires_at` — Expiration time of the `client_secret`, or `0` if it never expires, as a NumericDate (RFC 7591 §3.2.1).
public
string
CLIENT_SECRET_EXPIRES_AT
= 'client_secret_expires_at'
CLIENT_URI
`client_uri` — URL of the client's home page (RFC 7591 §2).
public
string
CLIENT_URI
= 'client_uri'
CONTACTS
`contacts` — Array of e-mail addresses of people responsible for the client (RFC 7591 §2).
public
string
CONTACTS
= 'contacts'
DEFAULT_ACR_VALUES
`default_acr_values` — Default requested Authentication Context Class Reference values (OIDC DCR §2).
public
string
DEFAULT_ACR_VALUES
= 'default_acr_values'
DEFAULT_MAX_AGE
`default_max_age` — Default Maximum Authentication Age, in seconds (OIDC DCR §2).
public
string
DEFAULT_MAX_AGE
= 'default_max_age'
FRONTCHANNEL_LOGOUT_SESSION_REQUIRED
`frontchannel_logout_session_required` — Whether a `sid` is required at the front-channel logout URI (OIDC Front-Channel Logout 1.0).
public
string
FRONTCHANNEL_LOGOUT_SESSION_REQUIRED
= 'frontchannel_logout_session_required'
FRONTCHANNEL_LOGOUT_URI
`frontchannel_logout_uri` — URI invoked for front-channel logout (OIDC Front-Channel Logout 1.0).
public
string
FRONTCHANNEL_LOGOUT_URI
= 'frontchannel_logout_uri'
GRANT_TYPES
`grant_types` — Array of grant types the client may use (RFC 7591 §2).
public
string
GRANT_TYPES
= 'grant_types'
See OAuth2GrantType.
ID_TOKEN_ENCRYPTED_RESPONSE_ALG
`id_token_encrypted_response_alg` — JWE `alg` for encrypting the ID Token (OIDC DCR §2).
public
string
ID_TOKEN_ENCRYPTED_RESPONSE_ALG
= 'id_token_encrypted_response_alg'
ID_TOKEN_ENCRYPTED_RESPONSE_ENC
`id_token_encrypted_response_enc` — JWE `enc` for encrypting the ID Token (OIDC DCR §2).
public
string
ID_TOKEN_ENCRYPTED_RESPONSE_ENC
= 'id_token_encrypted_response_enc'
ID_TOKEN_SIGNED_RESPONSE_ALG
`id_token_signed_response_alg` — JWS `alg` for signing the ID Token (OIDC DCR §2).
public
string
ID_TOKEN_SIGNED_RESPONSE_ALG
= 'id_token_signed_response_alg'
See JwtAlgorithm.
INITIATE_LOGIN_URI
`initiate_login_uri` — URI a third party can use to initiate login at the client (OIDC DCR §2).
public
string
INITIATE_LOGIN_URI
= 'initiate_login_uri'
JWKS
`jwks` — Client's JSON Web Key Set by value (RFC 7591 §2). Mutually exclusive with {@see self::JWKS_URI}.
public
string
JWKS
= 'jwks'
JWKS_URI
`jwks_uri` — URL of the client's JSON Web Key Set document (RFC 7591 §2).
public
string
JWKS_URI
= 'jwks_uri'
LOGO_URI
`logo_uri` — URL of the client's logo (RFC 7591 §2).
public
string
LOGO_URI
= 'logo_uri'
POLICY_URI
`policy_uri` — URL of the client's privacy policy (RFC 7591 §2).
public
string
POLICY_URI
= 'policy_uri'
POST_LOGOUT_REDIRECT_URIS
`post_logout_redirect_uris` — Array of redirect URIs allowed after logout (OIDC RP-Initiated Logout 1.0).
public
string
POST_LOGOUT_REDIRECT_URIS
= 'post_logout_redirect_uris'
REDIRECT_URIS
`redirect_uris` — Array of redirection URIs used by the client (RFC 7591 §2).
public
string
REDIRECT_URIS
= 'redirect_uris'
REGISTRATION_ACCESS_TOKEN
`registration_access_token` — Bearer token to access the client configuration endpoint (RFC 7592 §3).
public
string
REGISTRATION_ACCESS_TOKEN
= 'registration_access_token'
REGISTRATION_CLIENT_URI
`registration_client_uri` — URL of the client configuration endpoint (RFC 7592 §3).
public
string
REGISTRATION_CLIENT_URI
= 'registration_client_uri'
REQUEST_OBJECT_ENCRYPTION_ALG
`request_object_encryption_alg` — JWE `alg` for encrypting Request Objects (OIDC DCR §2).
public
string
REQUEST_OBJECT_ENCRYPTION_ALG
= 'request_object_encryption_alg'
REQUEST_OBJECT_ENCRYPTION_ENC
`request_object_encryption_enc` — JWE `enc` for encrypting Request Objects (OIDC DCR §2).
public
string
REQUEST_OBJECT_ENCRYPTION_ENC
= 'request_object_encryption_enc'
REQUEST_OBJECT_SIGNING_ALG
`request_object_signing_alg` — JWS `alg` for signing Request Objects (OIDC DCR §2).
public
string
REQUEST_OBJECT_SIGNING_ALG
= 'request_object_signing_alg'
REQUEST_URIS
`request_uris` — Array of pre-registered `request_uri` values (OIDC DCR §2).
public
string
REQUEST_URIS
= 'request_uris'
REQUIRE_AUTH_TIME
`require_auth_time` — Whether the `auth_time` claim is always required (OIDC DCR §2).
public
string
REQUIRE_AUTH_TIME
= 'require_auth_time'
RESPONSE_TYPES
`response_types` — Array of response types the client may use (RFC 7591 §2).
public
string
RESPONSE_TYPES
= 'response_types'
See OAuth2ResponseType.
SCOPE
`scope` — Space-separated list of scopes the client may request (RFC 7591 §2).
public
string
SCOPE
= 'scope'
SECTOR_IDENTIFIER_URI
`sector_identifier_uri` — URL providing the redirect URIs used to compute a pairwise `sub` value (OIDC DCR §2).
public
string
SECTOR_IDENTIFIER_URI
= 'sector_identifier_uri'
SOFTWARE_ID
`software_id` — Unique identifier for the client software (RFC 7591 §2).
public
string
SOFTWARE_ID
= 'software_id'
SOFTWARE_STATEMENT
`software_statement` — Signed JWT asserting client metadata (RFC 7591 §2.3).
public
string
SOFTWARE_STATEMENT
= 'software_statement'
SOFTWARE_VERSION
`software_version` — Version of the client software (RFC 7591 §2).
public
string
SOFTWARE_VERSION
= 'software_version'
SUBJECT_TYPE
`subject_type` — Requested subject identifier type (OIDC DCR §2).
public
string
SUBJECT_TYPE
= 'subject_type'
See OAuth2SubjectType.
TOKEN_ENDPOINT_AUTH_METHOD
`token_endpoint_auth_method` — Client authentication method for the token endpoint (RFC 7591 §2). See {@see OAuth2TokenEndpointAuthMethod}.
public
string
TOKEN_ENDPOINT_AUTH_METHOD
= 'token_endpoint_auth_method'
TOKEN_ENDPOINT_AUTH_SIGNING_ALG
`token_endpoint_auth_signing_alg` — JWS `alg` for client assertions at the token endpoint (OIDC DCR §2).
public
string
TOKEN_ENDPOINT_AUTH_SIGNING_ALG
= 'token_endpoint_auth_signing_alg'
TOS_URI
`tos_uri` — URL of the client's terms of service (RFC 7591 §2).
public
string
TOS_URI
= 'tos_uri'
USERINFO_ENCRYPTED_RESPONSE_ALG
`userinfo_encrypted_response_alg` — JWE `alg` for encrypting UserInfo responses (OIDC DCR §2).
public
string
USERINFO_ENCRYPTED_RESPONSE_ALG
= 'userinfo_encrypted_response_alg'
USERINFO_ENCRYPTED_RESPONSE_ENC
`userinfo_encrypted_response_enc` — JWE `enc` for encrypting UserInfo responses (OIDC DCR §2).
public
string
USERINFO_ENCRYPTED_RESPONSE_ENC
= 'userinfo_encrypted_response_enc'
USERINFO_SIGNED_RESPONSE_ALG
`userinfo_signed_response_alg` — JWS `alg` for signing UserInfo responses (OIDC DCR §2).
public
string
USERINFO_SIGNED_RESPONSE_ALG
= 'userinfo_signed_response_alg'