ServiceCollectionExtensions Class
Abblix.Oidc.Server
Abblix.Oidc.Server.Features.RichAuthorizationRequests
ServiceCollectionExtensions Class
Service-collection extensions for the RFC 9396 Rich Authorization Requests feature.
public static class ServiceCollectionExtensions
Inheritance System.Object → ServiceCollectionExtensions
Methods
ServiceCollectionExtensions.AddAuthorizationDetailValidator<TValidator>(this IServiceCollection, string) Method
Registers a per-type validator for RFC 9396 authorization_details entries whose
type value matches type. The composite
IAuthorizationDetailsPolicy dispatches each entry in the
authorization_details array to the implementation keyed by the entry's type.
public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddAuthorizationDetailValidator<TValidator>(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, string type)
where TValidator : class, Abblix.Oidc.Server.Features.RichAuthorizationRequests.IAuthorizationDetailValidator;
Type parameters
TValidator
The per-type validator implementation.
Parameters
services Microsoft.Extensions.DependencyInjection.IServiceCollection
The service collection to register the validator in.
type System.String
The authorization-detail type value the validator handles
(RFC 9396 §2.1). Used as the DI key; byte-exact match with the inbound entry's
type member.
Returns
Microsoft.Extensions.DependencyInjection.IServiceCollection
The service collection for method chaining.
Remarks
A single keyed registration via
Microsoft.Extensions.DependencyInjection.Extensions.ServiceCollectionDescriptorExtensions.TryAddKeyedSingleton<>.Extensions.DependencyInjection.IServiceCollection,System.Object)
serves both O(1) request-time dispatch
(GetKeyedService<IAuthorizationDetailValidator>(type)) and discovery
enumeration in slice #132 via
GetKeyedServices<IAuthorizationDetailValidator>(KeyedService.AnyKey)
(.NET 8+). No TryAddEnumerable parallel slot.
ServiceCollectionExtensions.AddRichAuthorizationRequests(this IServiceCollection) Method
Registers the OAuth 2.0 Rich Authorization Requests (RFC 9396) infrastructure: the
composite IAuthorizationDetailsPolicy and the
IAuthorizationDetailsMetadataProvider discovery contributor. Called
unconditionally from AddFeatures so the server boots cleanly with zero
IAuthorizationDetailValidator implementations registered; RAR-bearing
requests are rejected with invalid_authorization_details per RFC 9396 §5
until at least one validator is registered via
AddAuthorizationDetailValidator<TValidator>(this IServiceCollection, string).
public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddRichAuthorizationRequests(this Microsoft.Extensions.DependencyInjection.IServiceCollection services);
Parameters
services Microsoft.Extensions.DependencyInjection.IServiceCollection
The service collection to configure.
Returns
Microsoft.Extensions.DependencyInjection.IServiceCollection
The service collection for method chaining.