#### [Abblix\.Oidc\.Server](https://www.abblix.com/en/docs/api/abblix-oidc-server 'index')

## Abblix\.Oidc\.Server\.Features\.RichAuthorizationRequests Namespace

| Classes | |
| :--- | :--- |
| [AuthorizationDetailDescriptor](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Features.RichAuthorizationRequests.AuthorizationDetailDescriptor 'Abblix\.Oidc\.Server\.Features\.RichAuthorizationRequests\.AuthorizationDetailDescriptor') | Host\-renderable description of a single RFC 9396 `authorization_details` entry, produced by [BuildConsentDescriptorAsync\(AuthorizationDetail, ClientInfo, CancellationToken\)](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Features.RichAuthorizationRequests.IAuthorizationDetailValidator#Abblix.Oidc.Server.Features.RichAuthorizationRequests.IAuthorizationDetailValidator.BuildConsentDescriptorAsync(Abblix.Jwt.AuthorizationDetail,Abblix.Oidc.Server.Features.ClientInformation.ClientInfo,System.Threading.CancellationToken) 'Abblix\.Oidc\.Server\.Features\.RichAuthorizationRequests\.IAuthorizationDetailValidator\.BuildConsentDescriptorAsync\(Abblix\.Jwt\.AuthorizationDetail, Abblix\.Oidc\.Server\.Features\.ClientInformation\.ClientInfo, System\.Threading\.CancellationToken\)')\. Surfaces a structured, localisable shape the consent UI can render directly \-\- without the host having to inspect the per\-type JSON payload itself\. Validators that do not override the default implementation return `null`, and the host is expected to fall back to a raw JSON dump\. |
| [ServiceCollectionExtensions](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Features.RichAuthorizationRequests.ServiceCollectionExtensions 'Abblix\.Oidc\.Server\.Features\.RichAuthorizationRequests\.ServiceCollectionExtensions') | Service\-collection extensions for the RFC 9396 Rich Authorization Requests feature\. |

| Interfaces | |
| :--- | :--- |
| [IAuthorizationDetailsMetadataProvider](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Features.RichAuthorizationRequests.IAuthorizationDetailsMetadataProvider 'Abblix\.Oidc\.Server\.Features\.RichAuthorizationRequests\.IAuthorizationDetailsMetadataProvider') | Discovery metadata contributor for the RFC 9396 Rich Authorization Requests feature\. Sources the set of `authorization_details` types the server supports, projected from the same keyed\-DI registry that request\-time dispatch uses — single source of truth for «what does this server understand»\. |
| [IAuthorizationDetailsPolicy](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Features.RichAuthorizationRequests.IAuthorizationDetailsPolicy 'Abblix\.Oidc\.Server\.Features\.RichAuthorizationRequests\.IAuthorizationDetailsPolicy') | Single request\-time entry point for the RFC 9396 authorization\_details policy: per\-client allowlist \(§5\.1\) plus per\-type composite dispatch \(§5\)\. Endpoint\-side adapters delegate here so /authorize, /par, CIBA and device\-flow share one policy source\. |
| [IAuthorizationDetailValidator](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Features.RichAuthorizationRequests.IAuthorizationDetailValidator 'Abblix\.Oidc\.Server\.Features\.RichAuthorizationRequests\.IAuthorizationDetailValidator') | Validates a single RFC 9396 authorization\_details entry whose `type` value matches the implementation\. Hosts register one implementation per supported `type` via [AddAuthorizationDetailValidator&lt;TValidator&gt;\(this IServiceCollection, string\)](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Features.RichAuthorizationRequests.ServiceCollectionExtensions#Abblix.Oidc.Server.Features.RichAuthorizationRequests.ServiceCollectionExtensions.AddAuthorizationDetailValidator_TValidator_(thisMicrosoft.Extensions.DependencyInjection.IServiceCollection,string) 'Abblix\.Oidc\.Server\.Features\.RichAuthorizationRequests\.ServiceCollectionExtensions\.AddAuthorizationDetailValidator\<TValidator\>\(this Microsoft\.Extensions\.DependencyInjection\.IServiceCollection, string\)'); the composite [IAuthorizationDetailsPolicy](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Features.RichAuthorizationRequests.IAuthorizationDetailsPolicy 'Abblix\.Oidc\.Server\.Features\.RichAuthorizationRequests\.IAuthorizationDetailsPolicy') dispatches each request entry to the implementation keyed by the entry's `type` value\. |
