Перейти к содержимому
Эта страница ещё не переведена.

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.

C#
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.

C#
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).

C#
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).

C#
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).

C#
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.

C#
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).

C#
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.

C#
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.

C#
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.

C#
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.

C#
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.

C#
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.

C#
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.

C#
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.

C#
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.

C#
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.

C#
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.

C#
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.

C#
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.

C#
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).

C#
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).

C#
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).

C#
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.

C#
public string Issuer { get; init; }

Property Value

System.String

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.

C#
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.

C#
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.

C#
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.

C#
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.

C#
public bool RequestParameterSupported { get; init; }

Property Value

System.Boolean

ConfigurationResponse.RequirePushedAuthorizationRequests Property

Indicates whether the OpenID Provider requires clients to use Pushed Authorization Requests (PAR) only.

C#
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.

C#
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.

C#
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.

C#
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.

C#
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.

C#
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.

C#
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.

C#
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.

C#
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.

C#
public System.Collections.Generic.IEnumerable<string>? UserInfoSigningAlgValuesSupported { get; init; }

Property Value

System.Collections.Generic.IEnumerable<System.String>