ConfigurationResponse Class
Framework-agnostic OpenID Connect discovery metadata response. Contains provider capabilities, supported features, and cryptographic algorithms, but excludes endpoint URLs which are framework-specific.
public record ConfigurationResponse : System.IEquatable<Abblix.Oidc.Server.Endpoints.Configuration.Interfaces.ConfigurationResponse>Inheritance System.Object → ConfigurationResponse
Implements System.IEquatable<ConfigurationResponse>
Remarks
Each member's C# nullability mirrors what OpenID Connect Discovery 1.0 section 3 says about the corresponding
metadata field, so that the compiler asks of a handler exactly what the specification asks of a provider.
The four fields that section marks REQUIRED are required here; everything else is nullable, because
RECOMMENDED and OPTIONAL fields are legitimately absent and null is how this type says "not stated"
(the wire model omits nulls entirely). Several of the optional ones carry a default that applies precisely
when the field is omitted, so omission is an answer rather than a gap: grant_types_supported defaults
to authorization code and implicit, response_modes_supported to query and fragment, and
token_endpoint_auth_methods_supported to client_secret_basic.
Before this, all eleven were declared non-nullable with a null-forgiving initialiser, which swore they were
always present while nothing enforced it. A custom IConfigurationHandler that left one out
produced no error at all: the null travelled into the wire model, whose null-omitting serialisation dropped
the field, so a discovery document could silently ship without a REQUIRED member and answer 200.
Properties
ConfigurationResponse.AcrValuesSupported Property
Lists the ACR (Authentication Context Class Reference) values supported by the OpenID Provider.
public System.Collections.Generic.IEnumerable<string>? AcrValuesSupported { get; init; }Property Value
System.Collections.Generic.IEnumerable<System.String>
ConfigurationResponse.AuthorizationDetailsTypesSupported Property
RFC 9396 §10: the authorization-detail type values this server's host has
registered validators for. Sourced from the same keyed-DI registry that request-time
dispatch uses; emitted as authorization_details_types_supported on the wire,
or omitted when null (no per-type validators registered).
public System.Collections.Generic.IEnumerable<string>? AuthorizationDetailsTypesSupported { get; init; }Property Value
System.Collections.Generic.IEnumerable<System.String>
ConfigurationResponse.AuthorizationEncryptionAlgValuesSupported Property
Specifies the JWE key-management algorithms (the alg values) supported for encrypting JARM
authorization responses (JARM §4).
public System.Collections.Generic.IEnumerable<string>? AuthorizationEncryptionAlgValuesSupported { get; init; }Property Value
System.Collections.Generic.IEnumerable<System.String>
ConfigurationResponse.AuthorizationEncryptionEncValuesSupported Property
Specifies the JWE content-encryption algorithms (the enc values) supported for encrypting JARM
authorization responses (JARM §4).
public System.Collections.Generic.IEnumerable<string>? AuthorizationEncryptionEncValuesSupported { get; init; }Property Value
System.Collections.Generic.IEnumerable<System.String>
ConfigurationResponse.AuthorizationResponseIssParameterSupported Property
Indicates whether the server includes the iss parameter in authorization responses per RFC 9207.
public System.Nullable<bool> AuthorizationResponseIssParameterSupported { get; init; }Property Value
System.Nullable<System.Boolean>
ConfigurationResponse.AuthorizationSigningAlgValuesSupported Property
Specifies the JWS algorithms supported for signing JARM authorization responses (JARM §4).
public System.Collections.Generic.IEnumerable<string>? AuthorizationSigningAlgValuesSupported { get; init; }Property Value
System.Collections.Generic.IEnumerable<System.String>
ConfigurationResponse.BackChannelAuthenticationRequestSigningAlgValuesSupported Property
Lists the supported signing algorithms for backchannel authentication requests.
public System.Collections.Generic.IEnumerable<string>? BackChannelAuthenticationRequestSigningAlgValuesSupported { get; init; }Property Value
System.Collections.Generic.IEnumerable<System.String>
ConfigurationResponse.BackChannelLogoutSessionSupported Property
Indicates whether the OpenID Provider supports session management for back channel logout.
public System.Nullable<bool> BackChannelLogoutSessionSupported { get; init; }Property Value
System.Nullable<System.Boolean>
ConfigurationResponse.BackChannelLogoutSupported Property
Indicates whether the OpenID Provider supports back channel logout.
public System.Nullable<bool> BackChannelLogoutSupported { get; init; }Property Value
System.Nullable<System.Boolean>
ConfigurationResponse.BackChannelTokenDeliveryModesSupported Property
Lists the supported backchannel token delivery modes for CIBA.
public System.Collections.Generic.IEnumerable<string>? BackChannelTokenDeliveryModesSupported { get; init; }Property Value
System.Collections.Generic.IEnumerable<System.String>
ConfigurationResponse.BackChannelUserCodeParameterSupported Property
Indicates whether the OpenID Provider supports the backchannel user code parameter for CIBA.
public System.Nullable<bool> BackChannelUserCodeParameterSupported { get; init; }Property Value
System.Nullable<System.Boolean>
ConfigurationResponse.ClaimsParameterSupported Property
Indicates whether the OpenID Provider supports the use of the claims parameter.
public System.Nullable<bool> ClaimsParameterSupported { get; init; }Property Value
System.Nullable<System.Boolean>
ConfigurationResponse.ClaimsSupported Property
Lists the claims supported by the OpenID Provider. RECOMMENDED by OpenID Connect Discovery 1.0 section 3.
public System.Collections.Generic.IEnumerable<string>? ClaimsSupported { get; init; }Property Value
System.Collections.Generic.IEnumerable<System.String>
ConfigurationResponse.CodeChallengeMethodsSupported Property
Lists the code challenge methods supported for PKCE. OPTIONAL per RFC 8414 section 2.
public System.Collections.Generic.IEnumerable<string>? CodeChallengeMethodsSupported { get; init; }Property Value
System.Collections.Generic.IEnumerable<System.String>
ConfigurationResponse.DpopSigningAlgValuesSupported Property
Specifies the JWS signing algorithms accepted on inbound DPoP proofs per
RFC 9449 §5.1 (dpop_signing_alg_values_supported): the intersection of
the algorithms the AS validator can verify with the static DPoP-compatible
whitelist.
public System.Collections.Generic.IEnumerable<string>? DpopSigningAlgValuesSupported { get; init; }Property Value
System.Collections.Generic.IEnumerable<System.String>
ConfigurationResponse.FrontChannelLogoutSessionSupported Property
Indicates whether the OpenID Provider supports session management for front channel logout.
public System.Nullable<bool> FrontChannelLogoutSessionSupported { get; init; }Property Value
System.Nullable<System.Boolean>
ConfigurationResponse.FrontChannelLogoutSupported Property
Indicates whether the OpenID Provider supports front channel logout.
public System.Nullable<bool> FrontChannelLogoutSupported { get; init; }Property Value
System.Nullable<System.Boolean>
ConfigurationResponse.GrantTypesSupported Property
Lists the grant types supported by the OpenID Provider. OPTIONAL per OpenID Connect Discovery 1.0 section 3, which defines the omitted case as authorization code and implicit.
public System.Collections.Generic.IEnumerable<string>? GrantTypesSupported { get; init; }Property Value
System.Collections.Generic.IEnumerable<System.String>
ConfigurationResponse.IdTokenSigningAlgValuesSupported Property
Lists the ID token signing algorithm values supported by the OpenID Provider. REQUIRED by OpenID Connect Discovery 1.0 section 3.
public System.Collections.Generic.IEnumerable<string> IdTokenSigningAlgValuesSupported { get; init; }Property Value
System.Collections.Generic.IEnumerable<System.String>
ConfigurationResponse.IntrospectionEncryptionAlgValuesSupported Property
Specifies the JWE key-management algorithms (the alg values) supported for encrypting JWT
introspection responses (RFC 9701 §7).
public System.Collections.Generic.IEnumerable<string>? IntrospectionEncryptionAlgValuesSupported { get; init; }Property Value
System.Collections.Generic.IEnumerable<System.String>
ConfigurationResponse.IntrospectionEncryptionEncValuesSupported Property
Specifies the JWE content-encryption algorithms (the enc values) supported for encrypting JWT
introspection responses (RFC 9701 §7).
public System.Collections.Generic.IEnumerable<string>? IntrospectionEncryptionEncValuesSupported { get; init; }Property Value
System.Collections.Generic.IEnumerable<System.String>
ConfigurationResponse.IntrospectionSigningAlgValuesSupported Property
Specifies the JWS algorithms supported for signing JWT introspection responses (RFC 9701 §7).
public System.Collections.Generic.IEnumerable<string>? IntrospectionSigningAlgValuesSupported { get; init; }Property Value
System.Collections.Generic.IEnumerable<System.String>
ConfigurationResponse.Issuer Property
The issuer identifier, which uniquely identifies the OpenID Provider. REQUIRED by OpenID Connect Discovery 1.0 section 3.
public string Issuer { get; init; }Property Value
ConfigurationResponse.PromptValuesSupported Property
Lists the prompt values supported by the OpenID Provider.
OPTIONAL per Initiating User Registration via OpenID Connect 1.0 section 4.2, which defines the field
outside the core metadata list. That section also states the obligation that follows from stating it at
all: a provider listing this element must list every prompt value it supports, not only create.
public System.Collections.Generic.IEnumerable<string>? PromptValuesSupported { get; init; }Property Value
System.Collections.Generic.IEnumerable<System.String>
ConfigurationResponse.RequestObjectEncryptionAlgValuesSupported Property
Specifies the JWE key-management algorithms (the alg values) supported for encrypted request objects.
public System.Collections.Generic.IEnumerable<string>? RequestObjectEncryptionAlgValuesSupported { get; init; }Property Value
System.Collections.Generic.IEnumerable<System.String>
ConfigurationResponse.RequestObjectEncryptionEncValuesSupported Property
Specifies the JWE content-encryption algorithms (the enc values) supported for encrypted request objects.
public System.Collections.Generic.IEnumerable<string>? RequestObjectEncryptionEncValuesSupported { get; init; }Property Value
System.Collections.Generic.IEnumerable<System.String>
ConfigurationResponse.RequestObjectSigningAlgValuesSupported Property
Specifies the signing algorithms supported for request objects.
public System.Collections.Generic.IEnumerable<string>? RequestObjectSigningAlgValuesSupported { get; init; }Property Value
System.Collections.Generic.IEnumerable<System.String>
ConfigurationResponse.RequestParameterSupported Property
Indicates whether the OpenID Provider supports the use of the request parameter.
public bool RequestParameterSupported { get; init; }Property Value
ConfigurationResponse.RequirePushedAuthorizationRequests Property
Indicates whether the OpenID Provider requires clients to use Pushed Authorization Requests (PAR) only.
public System.Nullable<bool> RequirePushedAuthorizationRequests { get; set; }Property Value
System.Nullable<System.Boolean>
ConfigurationResponse.RequireSignedRequestObject Property
Indicates whether the OpenID Provider mandates that all request objects must be signed.
public System.Nullable<bool> RequireSignedRequestObject { get; init; }Property Value
System.Nullable<System.Boolean>
ConfigurationResponse.ResponseModesSupported Property
Lists the response modes supported by the OpenID Provider. OPTIONAL per OpenID Connect Discovery 1.0 section 3, which defines the omitted case as query and fragment.
public System.Collections.Generic.IEnumerable<string>? ResponseModesSupported { get; init; }Property Value
System.Collections.Generic.IEnumerable<System.String>
ConfigurationResponse.ResponseTypesSupported Property
Lists the response types supported by the OpenID Provider. REQUIRED by OpenID Connect Discovery 1.0 section 3.
public System.Collections.Generic.IEnumerable<string> ResponseTypesSupported { get; init; }Property Value
System.Collections.Generic.IEnumerable<System.String>
ConfigurationResponse.ScopesSupported Property
Lists the scopes supported by the OpenID Provider. RECOMMENDED by OpenID Connect Discovery 1.0 section 3.
public System.Collections.Generic.IEnumerable<string>? ScopesSupported { get; init; }Property Value
System.Collections.Generic.IEnumerable<System.String>
ConfigurationResponse.SubjectTypesSupported Property
Lists the subject types supported by the OpenID Provider. REQUIRED by OpenID Connect Discovery 1.0 section 3.
public System.Collections.Generic.IEnumerable<string> SubjectTypesSupported { get; init; }Property Value
System.Collections.Generic.IEnumerable<System.String>
ConfigurationResponse.TlsClientCertificateBoundAccessTokens Property
Indicates support for mutual-TLS client certificate-bound access tokens
(tls_client_certificate_bound_access_tokens, RFC 8705 §3.3). true when
the provider both issues such tokens and enforces the binding at its protected
resources; null (omitted) otherwise.
public System.Nullable<bool> TlsClientCertificateBoundAccessTokens { get; init; }Property Value
System.Nullable<System.Boolean>
ConfigurationResponse.TokenEndpointAuthMethodsSupported Property
Lists the token endpoint authentication methods supported by the OpenID Provider. OPTIONAL per OpenID Connect Discovery 1.0 section 3, which defines the omitted case as client_secret_basic.
public System.Collections.Generic.IEnumerable<string>? TokenEndpointAuthMethodsSupported { get; init; }Property Value
System.Collections.Generic.IEnumerable<System.String>
ConfigurationResponse.TokenEndpointAuthSigningAlgValuesSupported Property
Lists the signing algorithms supported for authenticating clients at the token endpoint.
public System.Collections.Generic.IEnumerable<string>? TokenEndpointAuthSigningAlgValuesSupported { get; init; }Property Value
System.Collections.Generic.IEnumerable<System.String>
ConfigurationResponse.UserInfoSigningAlgValuesSupported Property
Specifies the signing algorithms supported for user information endpoints.
public System.Collections.Generic.IEnumerable<string>? UserInfoSigningAlgValuesSupported { get; init; }