Skip to main content

AuthorizationDetailDescriptor Class

Abblix.Oidc.Server

Abblix.Oidc.Server.Features.RichAuthorizationRequests

AuthorizationDetailDescriptor Class

Host-renderable description of a single RFC 9396 authorization_details entry, produced by BuildConsentDescriptorAsync(AuthorizationDetail, ClientInfo, 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.

public record AuthorizationDetailDescriptor : System.IEquatable<Abblix.Oidc.Server.Features.RichAuthorizationRequests.AuthorizationDetailDescriptor>

Inheritance System.Object → AuthorizationDetailDescriptor

Implements System.IEquatable<AuthorizationDetailDescriptor>

Constructors

AuthorizationDetailDescriptor(string, string, IReadOnlyList<KeyValuePair<string,string>>) Constructor

Host-renderable description of a single RFC 9396 authorization_details entry, produced by BuildConsentDescriptorAsync(AuthorizationDetail, ClientInfo, 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.

public AuthorizationDetailDescriptor(string Title, string Summary, System.Collections.Generic.IReadOnlyList<System.Collections.Generic.KeyValuePair<string,string>>? Details=null);

Parameters

Title System.String

Short heading naming the operation (e.g. "Payment transfer", "Account information access"). One short phrase, no end punctuation.

Summary System.String

One-sentence human-readable summary of what consenting to this entry authorises (e.g. "Transfer 500 EUR to IBAN DE02 100100100123456789"). The consent UI typically shows this directly under the title.

Details System.Collections.Generic.IReadOnlyList<System.Collections.Generic.KeyValuePair<System.String,System.String>>

Optional structured key/value pairs the UI can render as a labelled list (e.g. {"Currency": "EUR", "Amount": "500.00", "Beneficiary IBAN": "DE02..."}). Order is preserved by the caller; keys are display-side labels and may be localisable by the host before they reach this record. null when the entry has no field-level breakdown worth showing.

Properties

AuthorizationDetailDescriptor.Details Property

Optional structured key/value pairs the UI can render as a labelled list (e.g. {"Currency": "EUR", "Amount": "500.00", "Beneficiary IBAN": "DE02..."}). Order is preserved by the caller; keys are display-side labels and may be localisable by the host before they reach this record. null when the entry has no field-level breakdown worth showing.

public System.Collections.Generic.IReadOnlyList<System.Collections.Generic.KeyValuePair<string,string>>? Details { get; init; }

Property Value

System.Collections.Generic.IReadOnlyList<System.Collections.Generic.KeyValuePair<System.String,System.String>>

AuthorizationDetailDescriptor.Summary Property

One-sentence human-readable summary of what consenting to this entry authorises (e.g. "Transfer 500 EUR to IBAN DE02 100100100123456789"). The consent UI typically shows this directly under the title.

public string Summary { get; init; }

Property Value

System.String

AuthorizationDetailDescriptor.Title Property

Short heading naming the operation (e.g. "Payment transfer", "Account information access"). One short phrase, no end punctuation.

public string Title { get; init; }

Property Value

System.String