OidcDiscoveryField uses ConstantsTrait
Enumeration of standard fields published in the `/.well-known/openid-configuration` discovery document.
Covers both the original OIDC Discovery 1.0 metadata and the extensions defined by RFC 8414 (OAuth 2.0 Authorization Server Metadata), RFC 7636 (PKCE), RFC 8628 (Device Flow), RFC 9101 (JAR), RFC 9126 (PAR), RFC 9449 (DPoP), OIDC RP-Initiated Logout, OIDC Front/Back-Channel Logout, and OIDC Session Management.
These constants are used when parsing or building the provider configuration JSON returned by an OpenID Provider or OAuth 2.0 Authorization Server.
Example:
$config = json_decode( file_get_contents( $issuer . '/.well-known/openid-configuration' ) , true ) ;
$tokenEndpoint = $config[ OidcDiscoveryField::TOKEN_ENDPOINT ] ;
$jwksUri = $config[ OidcDiscoveryField::JWKS_URI ] ;
References:
- OpenID Connect Discovery 1.0 §3
- RFC 8414 (OAuth 2.0 Authorization Server Metadata)
- RFC 7636 (PKCE)
- RFC 8628 (Device Authorization Grant)
- RFC 9101 (JWT-Secured Authorization Request, JAR)
- RFC 9126 (Pushed Authorization Requests, PAR)
- RFC 9449 (DPoP)
- OIDC RP-Initiated Logout 1.0
- OIDC Front-Channel / Back-Channel Logout 1.0
- OIDC Session Management 1.0
Tags
Table of Contents
Constants
- ACR_VALUES_SUPPORTED : string = 'acr_values_supported'
- `acr_values_supported` — list of ACR values supported by the OP.
- AUTHORIZATION_ENDPOINT : string = 'authorization_endpoint'
- `authorization_endpoint` — URL of the authorization endpoint.
- BACKCHANNEL_AUTHENTICATION_ENDPOINT : string = 'backchannel_authentication_endpoint'
- `backchannel_authentication_endpoint` — URL of the CIBA backchannel authentication endpoint.
- BACKCHANNEL_LOGOUT_SESSION_SUPPORTED : string = 'backchannel_logout_session_supported'
- `backchannel_logout_session_supported` — Whether `sid` is included in the back-channel logout token.
- BACKCHANNEL_LOGOUT_SUPPORTED : string = 'backchannel_logout_supported'
- `backchannel_logout_supported` — Whether back-channel logout is supported.
- CHECK_SESSION_IFRAME : string = 'check_session_iframe'
- `check_session_iframe` — URL of the Session Management iframe.
- CLAIM_TYPES_SUPPORTED : string = 'claim_types_supported'
- `claim_types_supported` — list of Claim Types supported: `normal`, `aggregated`, `distributed`.
- CLAIMS_LOCALES_SUPPORTED : string = 'claims_locales_supported'
- `claims_locales_supported` — list of BCP47 language tags for claims values.
- CLAIMS_PARAMETER_SUPPORTED : string = 'claims_parameter_supported'
- `claims_parameter_supported` — Whether the OP supports the `claims` parameter.
- CLAIMS_SUPPORTED : string = 'claims_supported'
- `claims_supported` — list of Claim Names supported.
- CODE_CHALLENGE_METHODS_SUPPORTED : string = 'code_challenge_methods_supported'
- `code_challenge_methods_supported` — PKCE methods supported (RFC 7636).
- DEVICE_AUTHORIZATION_ENDPOINT : string = 'device_authorization_endpoint'
- `device_authorization_endpoint` — URL of the Device Authorization endpoint (RFC 8628).
- DISPLAY_VALUES_SUPPORTED : string = 'display_values_supported'
- `display_values_supported` — list of `display` parameter values supported.
- DPOP_SIGNING_ALG_VALUES_SUPPORTED : string = 'dpop_signing_alg_values_supported'
- `dpop_signing_alg_values_supported` — JWS algs supported for DPoP proof JWTs (RFC 9449).
- END_SESSION_ENDPOINT : string = 'end_session_endpoint'
- `end_session_endpoint` — URL of the RP-Initiated Logout endpoint.
- FRONTCHANNEL_LOGOUT_SESSION_SUPPORTED : string = 'frontchannel_logout_session_supported'
- `frontchannel_logout_session_supported` — Whether `sid` is included in the front-channel logout request.
- FRONTCHANNEL_LOGOUT_SUPPORTED : string = 'frontchannel_logout_supported'
- `frontchannel_logout_supported` — Whether front-channel logout is supported.
- GRANT_TYPES_SUPPORTED : string = 'grant_types_supported'
- `grant_types_supported` — list of `grant_type` values supported.
- ID_TOKEN_ENCRYPTION_ALG_VALUES_SUPPORTED : string = 'id_token_encryption_alg_values_supported'
- `id_token_encryption_alg_values_supported` — JWE alg values for the ID Token.
- ID_TOKEN_ENCRYPTION_ENC_VALUES_SUPPORTED : string = 'id_token_encryption_enc_values_supported'
- `id_token_encryption_enc_values_supported` — JWE enc values for the ID Token.
- ID_TOKEN_SIGNING_ALG_VALUES_SUPPORTED : string = 'id_token_signing_alg_values_supported'
- `id_token_signing_alg_values_supported` — JWS algs for the ID Token.
- INTROSPECTION_ENDPOINT : string = 'introspection_endpoint'
- `introspection_endpoint` — URL of the OAuth 2.0 introspection endpoint (RFC 8414).
- INTROSPECTION_ENDPOINT_AUTH_METHODS_SUPPORTED : string = 'introspection_endpoint_auth_methods_supported'
- `introspection_endpoint_auth_methods_supported` — Client auth methods at the introspection endpoint.
- INTROSPECTION_ENDPOINT_AUTH_SIGNING_ALG_VALUES_SUPPORTED : string = 'introspection_endpoint_auth_signing_alg_values...
- `introspection_endpoint_auth_signing_alg_values_supported` — JWS algs for client assertions at the introspection endpoint.
- ISSUER : string = 'issuer'
- `issuer` — URL using the https scheme that uniquely identifies the OP.
- JWKS_URI : string = 'jwks_uri'
- `jwks_uri` — URL of the JWK Set document containing the OP's signing keys.
- OP_POLICY_URI : string = 'op_policy_uri'
- `op_policy_uri` — URL describing the OP's policy on usage of profile data.
- OP_TOS_URI : string = 'op_tos_uri'
- `op_tos_uri` — URL describing the OP's terms of service.
- PUSHED_AUTHORIZATION_REQUEST_ENDPOINT : string = 'pushed_authorization_request_endpoint'
- `pushed_authorization_request_endpoint` — URL of the PAR endpoint (RFC 9126).
- REGISTRATION_ENDPOINT : string = 'registration_endpoint'
- `registration_endpoint` — URL of the dynamic client registration endpoint.
- REQUEST_OBJECT_ENCRYPTION_ALG_VALUES_SUPPORTED : string = 'request_object_encryption_alg_values_supported'
- `request_object_encryption_alg_values_supported` — JWE alg values for Request Objects.
- REQUEST_OBJECT_ENCRYPTION_ENC_VALUES_SUPPORTED : string = 'request_object_encryption_enc_values_supported'
- `request_object_encryption_enc_values_supported` — JWE enc values for Request Objects.
- REQUEST_OBJECT_SIGNING_ALG_VALUES_SUPPORTED : string = 'request_object_signing_alg_values_supported'
- `request_object_signing_alg_values_supported` — JWS algs for Request Objects.
- REQUEST_PARAMETER_SUPPORTED : string = 'request_parameter_supported'
- `request_parameter_supported` — Whether the OP supports the `request` parameter.
- REQUEST_URI_PARAMETER_SUPPORTED : string = 'request_uri_parameter_supported'
- `request_uri_parameter_supported` — Whether the OP supports the `request_uri` parameter.
- REQUIRE_PUSHED_AUTHORIZATION_REQUESTS : string = 'require_pushed_authorization_requests'
- `require_pushed_authorization_requests` — Whether PAR is required (RFC 9126).
- REQUIRE_REQUEST_URI_REGISTRATION : string = 'require_request_uri_registration'
- `require_request_uri_registration` — Whether `request_uri` values must be pre-registered.
- RESPONSE_MODES_SUPPORTED : string = 'response_modes_supported'
- `response_modes_supported` — list of `response_mode` values supported.
- RESPONSE_TYPES_SUPPORTED : string = 'response_types_supported'
- `response_types_supported` — list of `response_type` values supported.
- REVOCATION_ENDPOINT : string = 'revocation_endpoint'
- `revocation_endpoint` — URL of the OAuth 2.0 revocation endpoint (RFC 8414).
- REVOCATION_ENDPOINT_AUTH_METHODS_SUPPORTED : string = 'revocation_endpoint_auth_methods_supported'
- `revocation_endpoint_auth_methods_supported` — Client auth methods at the revocation endpoint.
- REVOCATION_ENDPOINT_AUTH_SIGNING_ALG_VALUES_SUPPORTED : string = 'revocation_endpoint_auth_signing_alg_values_su...
- `revocation_endpoint_auth_signing_alg_values_supported` — JWS algs for client assertions at the revocation endpoint.
- SCOPES_SUPPORTED : string = 'scopes_supported'
- `scopes_supported` — list of OAuth 2.0 scope values supported.
- SERVICE_DOCUMENTATION : string = 'service_documentation'
- `service_documentation` — URL of human-readable documentation for developers.
- SUBJECT_TYPES_SUPPORTED : string = 'subject_types_supported'
- `subject_types_supported` — list of Subject Identifier types: `public`, `pairwise`.
- TLS_CLIENT_CERTIFICATE_BOUND_ACCESS_TOKENS : string = 'tls_client_certificate_bound_access_tokens'
- `tls_client_certificate_bound_access_tokens` — Whether mTLS-bound tokens are supported (RFC 8705).
- TOKEN_ENDPOINT : string = 'token_endpoint'
- `token_endpoint` — URL of the token endpoint.
- TOKEN_ENDPOINT_AUTH_METHODS_SUPPORTED : string = 'token_endpoint_auth_methods_supported'
- `token_endpoint_auth_methods_supported` — Client auth methods at the token endpoint.
- TOKEN_ENDPOINT_AUTH_SIGNING_ALG_VALUES_SUPPORTED : string = 'token_endpoint_auth_signing_alg_values_supported'
- `token_endpoint_auth_signing_alg_values_supported` — JWS algs for client assertions.
- UI_LOCALES_SUPPORTED : string = 'ui_locales_supported'
- `ui_locales_supported` — list of BCP47 language tags for the UI.
- USERINFO_ENCRYPTION_ALG_VALUES_SUPPORTED : string = 'userinfo_encryption_alg_values_supported'
- `userinfo_encryption_alg_values_supported` — JWE alg values for the UserInfo response.
- USERINFO_ENCRYPTION_ENC_VALUES_SUPPORTED : string = 'userinfo_encryption_enc_values_supported'
- `userinfo_encryption_enc_values_supported` — JWE enc values for the UserInfo response.
- USERINFO_ENDPOINT : string = 'userinfo_endpoint'
- `userinfo_endpoint` — URL of the UserInfo endpoint.
- USERINFO_SIGNING_ALG_VALUES_SUPPORTED : string = 'userinfo_signing_alg_values_supported'
- `userinfo_signing_alg_values_supported` — JWS algs for the UserInfo response.
Constants
ACR_VALUES_SUPPORTED
`acr_values_supported` — list of ACR values supported by the OP.
public
string
ACR_VALUES_SUPPORTED
= 'acr_values_supported'
AUTHORIZATION_ENDPOINT
`authorization_endpoint` — URL of the authorization endpoint.
public
string
AUTHORIZATION_ENDPOINT
= 'authorization_endpoint'
BACKCHANNEL_AUTHENTICATION_ENDPOINT
`backchannel_authentication_endpoint` — URL of the CIBA backchannel authentication endpoint.
public
string
BACKCHANNEL_AUTHENTICATION_ENDPOINT
= 'backchannel_authentication_endpoint'
BACKCHANNEL_LOGOUT_SESSION_SUPPORTED
`backchannel_logout_session_supported` — Whether `sid` is included in the back-channel logout token.
public
string
BACKCHANNEL_LOGOUT_SESSION_SUPPORTED
= 'backchannel_logout_session_supported'
BACKCHANNEL_LOGOUT_SUPPORTED
`backchannel_logout_supported` — Whether back-channel logout is supported.
public
string
BACKCHANNEL_LOGOUT_SUPPORTED
= 'backchannel_logout_supported'
CHECK_SESSION_IFRAME
`check_session_iframe` — URL of the Session Management iframe.
public
string
CHECK_SESSION_IFRAME
= 'check_session_iframe'
CLAIM_TYPES_SUPPORTED
`claim_types_supported` — list of Claim Types supported: `normal`, `aggregated`, `distributed`.
public
string
CLAIM_TYPES_SUPPORTED
= 'claim_types_supported'
CLAIMS_LOCALES_SUPPORTED
`claims_locales_supported` — list of BCP47 language tags for claims values.
public
string
CLAIMS_LOCALES_SUPPORTED
= 'claims_locales_supported'
CLAIMS_PARAMETER_SUPPORTED
`claims_parameter_supported` — Whether the OP supports the `claims` parameter.
public
string
CLAIMS_PARAMETER_SUPPORTED
= 'claims_parameter_supported'
CLAIMS_SUPPORTED
`claims_supported` — list of Claim Names supported.
public
string
CLAIMS_SUPPORTED
= 'claims_supported'
CODE_CHALLENGE_METHODS_SUPPORTED
`code_challenge_methods_supported` — PKCE methods supported (RFC 7636).
public
string
CODE_CHALLENGE_METHODS_SUPPORTED
= 'code_challenge_methods_supported'
DEVICE_AUTHORIZATION_ENDPOINT
`device_authorization_endpoint` — URL of the Device Authorization endpoint (RFC 8628).
public
string
DEVICE_AUTHORIZATION_ENDPOINT
= 'device_authorization_endpoint'
DISPLAY_VALUES_SUPPORTED
`display_values_supported` — list of `display` parameter values supported.
public
string
DISPLAY_VALUES_SUPPORTED
= 'display_values_supported'
DPOP_SIGNING_ALG_VALUES_SUPPORTED
`dpop_signing_alg_values_supported` — JWS algs supported for DPoP proof JWTs (RFC 9449).
public
string
DPOP_SIGNING_ALG_VALUES_SUPPORTED
= 'dpop_signing_alg_values_supported'
END_SESSION_ENDPOINT
`end_session_endpoint` — URL of the RP-Initiated Logout endpoint.
public
string
END_SESSION_ENDPOINT
= 'end_session_endpoint'
FRONTCHANNEL_LOGOUT_SESSION_SUPPORTED
`frontchannel_logout_session_supported` — Whether `sid` is included in the front-channel logout request.
public
string
FRONTCHANNEL_LOGOUT_SESSION_SUPPORTED
= 'frontchannel_logout_session_supported'
FRONTCHANNEL_LOGOUT_SUPPORTED
`frontchannel_logout_supported` — Whether front-channel logout is supported.
public
string
FRONTCHANNEL_LOGOUT_SUPPORTED
= 'frontchannel_logout_supported'
GRANT_TYPES_SUPPORTED
`grant_types_supported` — list of `grant_type` values supported.
public
string
GRANT_TYPES_SUPPORTED
= 'grant_types_supported'
ID_TOKEN_ENCRYPTION_ALG_VALUES_SUPPORTED
`id_token_encryption_alg_values_supported` — JWE alg values for the ID Token.
public
string
ID_TOKEN_ENCRYPTION_ALG_VALUES_SUPPORTED
= 'id_token_encryption_alg_values_supported'
ID_TOKEN_ENCRYPTION_ENC_VALUES_SUPPORTED
`id_token_encryption_enc_values_supported` — JWE enc values for the ID Token.
public
string
ID_TOKEN_ENCRYPTION_ENC_VALUES_SUPPORTED
= 'id_token_encryption_enc_values_supported'
ID_TOKEN_SIGNING_ALG_VALUES_SUPPORTED
`id_token_signing_alg_values_supported` — JWS algs for the ID Token.
public
string
ID_TOKEN_SIGNING_ALG_VALUES_SUPPORTED
= 'id_token_signing_alg_values_supported'
INTROSPECTION_ENDPOINT
`introspection_endpoint` — URL of the OAuth 2.0 introspection endpoint (RFC 8414).
public
string
INTROSPECTION_ENDPOINT
= 'introspection_endpoint'
INTROSPECTION_ENDPOINT_AUTH_METHODS_SUPPORTED
`introspection_endpoint_auth_methods_supported` — Client auth methods at the introspection endpoint.
public
string
INTROSPECTION_ENDPOINT_AUTH_METHODS_SUPPORTED
= 'introspection_endpoint_auth_methods_supported'
INTROSPECTION_ENDPOINT_AUTH_SIGNING_ALG_VALUES_SUPPORTED
`introspection_endpoint_auth_signing_alg_values_supported` — JWS algs for client assertions at the introspection endpoint.
public
string
INTROSPECTION_ENDPOINT_AUTH_SIGNING_ALG_VALUES_SUPPORTED
= 'introspection_endpoint_auth_signing_alg_values_supported'
ISSUER
`issuer` — URL using the https scheme that uniquely identifies the OP.
public
string
ISSUER
= 'issuer'
JWKS_URI
`jwks_uri` — URL of the JWK Set document containing the OP's signing keys.
public
string
JWKS_URI
= 'jwks_uri'
OP_POLICY_URI
`op_policy_uri` — URL describing the OP's policy on usage of profile data.
public
string
OP_POLICY_URI
= 'op_policy_uri'
OP_TOS_URI
`op_tos_uri` — URL describing the OP's terms of service.
public
string
OP_TOS_URI
= 'op_tos_uri'
PUSHED_AUTHORIZATION_REQUEST_ENDPOINT
`pushed_authorization_request_endpoint` — URL of the PAR endpoint (RFC 9126).
public
string
PUSHED_AUTHORIZATION_REQUEST_ENDPOINT
= 'pushed_authorization_request_endpoint'
REGISTRATION_ENDPOINT
`registration_endpoint` — URL of the dynamic client registration endpoint.
public
string
REGISTRATION_ENDPOINT
= 'registration_endpoint'
REQUEST_OBJECT_ENCRYPTION_ALG_VALUES_SUPPORTED
`request_object_encryption_alg_values_supported` — JWE alg values for Request Objects.
public
string
REQUEST_OBJECT_ENCRYPTION_ALG_VALUES_SUPPORTED
= 'request_object_encryption_alg_values_supported'
REQUEST_OBJECT_ENCRYPTION_ENC_VALUES_SUPPORTED
`request_object_encryption_enc_values_supported` — JWE enc values for Request Objects.
public
string
REQUEST_OBJECT_ENCRYPTION_ENC_VALUES_SUPPORTED
= 'request_object_encryption_enc_values_supported'
REQUEST_OBJECT_SIGNING_ALG_VALUES_SUPPORTED
`request_object_signing_alg_values_supported` — JWS algs for Request Objects.
public
string
REQUEST_OBJECT_SIGNING_ALG_VALUES_SUPPORTED
= 'request_object_signing_alg_values_supported'
REQUEST_PARAMETER_SUPPORTED
`request_parameter_supported` — Whether the OP supports the `request` parameter.
public
string
REQUEST_PARAMETER_SUPPORTED
= 'request_parameter_supported'
REQUEST_URI_PARAMETER_SUPPORTED
`request_uri_parameter_supported` — Whether the OP supports the `request_uri` parameter.
public
string
REQUEST_URI_PARAMETER_SUPPORTED
= 'request_uri_parameter_supported'
REQUIRE_PUSHED_AUTHORIZATION_REQUESTS
`require_pushed_authorization_requests` — Whether PAR is required (RFC 9126).
public
string
REQUIRE_PUSHED_AUTHORIZATION_REQUESTS
= 'require_pushed_authorization_requests'
REQUIRE_REQUEST_URI_REGISTRATION
`require_request_uri_registration` — Whether `request_uri` values must be pre-registered.
public
string
REQUIRE_REQUEST_URI_REGISTRATION
= 'require_request_uri_registration'
RESPONSE_MODES_SUPPORTED
`response_modes_supported` — list of `response_mode` values supported.
public
string
RESPONSE_MODES_SUPPORTED
= 'response_modes_supported'
RESPONSE_TYPES_SUPPORTED
`response_types_supported` — list of `response_type` values supported.
public
string
RESPONSE_TYPES_SUPPORTED
= 'response_types_supported'
REVOCATION_ENDPOINT
`revocation_endpoint` — URL of the OAuth 2.0 revocation endpoint (RFC 8414).
public
string
REVOCATION_ENDPOINT
= 'revocation_endpoint'
REVOCATION_ENDPOINT_AUTH_METHODS_SUPPORTED
`revocation_endpoint_auth_methods_supported` — Client auth methods at the revocation endpoint.
public
string
REVOCATION_ENDPOINT_AUTH_METHODS_SUPPORTED
= 'revocation_endpoint_auth_methods_supported'
REVOCATION_ENDPOINT_AUTH_SIGNING_ALG_VALUES_SUPPORTED
`revocation_endpoint_auth_signing_alg_values_supported` — JWS algs for client assertions at the revocation endpoint.
public
string
REVOCATION_ENDPOINT_AUTH_SIGNING_ALG_VALUES_SUPPORTED
= 'revocation_endpoint_auth_signing_alg_values_supported'
SCOPES_SUPPORTED
`scopes_supported` — list of OAuth 2.0 scope values supported.
public
string
SCOPES_SUPPORTED
= 'scopes_supported'
SERVICE_DOCUMENTATION
`service_documentation` — URL of human-readable documentation for developers.
public
string
SERVICE_DOCUMENTATION
= 'service_documentation'
SUBJECT_TYPES_SUPPORTED
`subject_types_supported` — list of Subject Identifier types: `public`, `pairwise`.
public
string
SUBJECT_TYPES_SUPPORTED
= 'subject_types_supported'
TLS_CLIENT_CERTIFICATE_BOUND_ACCESS_TOKENS
`tls_client_certificate_bound_access_tokens` — Whether mTLS-bound tokens are supported (RFC 8705).
public
string
TLS_CLIENT_CERTIFICATE_BOUND_ACCESS_TOKENS
= 'tls_client_certificate_bound_access_tokens'
TOKEN_ENDPOINT
`token_endpoint` — URL of the token endpoint.
public
string
TOKEN_ENDPOINT
= 'token_endpoint'
TOKEN_ENDPOINT_AUTH_METHODS_SUPPORTED
`token_endpoint_auth_methods_supported` — Client auth methods at the token endpoint.
public
string
TOKEN_ENDPOINT_AUTH_METHODS_SUPPORTED
= 'token_endpoint_auth_methods_supported'
TOKEN_ENDPOINT_AUTH_SIGNING_ALG_VALUES_SUPPORTED
`token_endpoint_auth_signing_alg_values_supported` — JWS algs for client assertions.
public
string
TOKEN_ENDPOINT_AUTH_SIGNING_ALG_VALUES_SUPPORTED
= 'token_endpoint_auth_signing_alg_values_supported'
UI_LOCALES_SUPPORTED
`ui_locales_supported` — list of BCP47 language tags for the UI.
public
string
UI_LOCALES_SUPPORTED
= 'ui_locales_supported'
USERINFO_ENCRYPTION_ALG_VALUES_SUPPORTED
`userinfo_encryption_alg_values_supported` — JWE alg values for the UserInfo response.
public
string
USERINFO_ENCRYPTION_ALG_VALUES_SUPPORTED
= 'userinfo_encryption_alg_values_supported'
USERINFO_ENCRYPTION_ENC_VALUES_SUPPORTED
`userinfo_encryption_enc_values_supported` — JWE enc values for the UserInfo response.
public
string
USERINFO_ENCRYPTION_ENC_VALUES_SUPPORTED
= 'userinfo_encryption_enc_values_supported'
USERINFO_ENDPOINT
`userinfo_endpoint` — URL of the UserInfo endpoint.
public
string
USERINFO_ENDPOINT
= 'userinfo_endpoint'
USERINFO_SIGNING_ALG_VALUES_SUPPORTED
`userinfo_signing_alg_values_supported` — JWS algs for the UserInfo response.
public
string
USERINFO_SIGNING_ALG_VALUES_SUPPORTED
= 'userinfo_signing_alg_values_supported'