Skip to main content

AuthorizationDetail Class

Abblix.Jwt

Abblix.Jwt

AuthorizationDetail Class

One entry in the OAuth 2.0 Rich Authorization Requests authorization_details array (RFC 9396 §2), wrapped over a System.Text.Json.Nodes.JsonNode which is the source of truth for the entry's content. The wrapper exposes the RFC 9396 §2.2 common-data members as strongly-typed accessors that read from and write to the underlying Json directly — the same shape JsonWebTokenPayload uses over its System.Text.Json.Nodes.JsonObject.

public record AuthorizationDetail : System.IEquatable<Abblix.Jwt.AuthorizationDetail>

Inheritance System.Object → AuthorizationDetail

Implements System.IEquatable<AuthorizationDetail>

Remarks

Type-specific members outside the §2.2 common-data set (for example the instructedAmount / creditorAccount fields of a PSD2 payment_initiation entry) are accessed directly through Json; the per-type validator that owns the schema for a given type reads and writes them via the System.Text.Json.Nodes API on the wrapped node.

Constructors

AuthorizationDetail(JsonObject) Constructor

One entry in the OAuth 2.0 Rich Authorization Requests authorization_details array (RFC 9396 §2), wrapped over a System.Text.Json.Nodes.JsonNode which is the source of truth for the entry's content. The wrapper exposes the RFC 9396 §2.2 common-data members as strongly-typed accessors that read from and write to the underlying Json directly — the same shape JsonWebTokenPayload uses over its System.Text.Json.Nodes.JsonObject.

public AuthorizationDetail(System.Text.Json.Nodes.JsonObject Json);

Parameters

Json System.Text.Json.Nodes.JsonObject

The underlying JSON node carrying the entry's wire shape. Member order, type-specific payload (RFC 9396 §2.2 extension members), and any unknown fields the AS does not model survive the authorize → code → token round-trip byte-exact because no typed deserialise / re-serialise cycle ever runs over them.

Remarks

Type-specific members outside the §2.2 common-data set (for example the instructedAmount / creditorAccount fields of a PSD2 payment_initiation entry) are accessed directly through Json; the per-type validator that owns the schema for a given type reads and writes them via the System.Text.Json.Nodes API on the wrapped node.

Properties

AuthorizationDetail.Actions Property

Kinds of actions to be taken at the resource, per RFC 9396 §2.2.

public System.Collections.Generic.IEnumerable<string>? Actions { get; set; }

Property Value

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

AuthorizationDetail.Datatypes Property

Kinds of data being requested from the resource, per RFC 9396 §2.2.

public System.Collections.Generic.IEnumerable<string>? Datatypes { get; set; }

Property Value

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

AuthorizationDetail.Identifier Property

A specific resource identifier at the API, per RFC 9396 §2.2.

public string? Identifier { get; set; }

Property Value

System.String

AuthorizationDetail.Json Property

The underlying JSON node carrying the entry's wire shape. Member order, type-specific payload (RFC 9396 §2.2 extension members), and any unknown fields the AS does not model survive the authorize → code → token round-trip byte-exact because no typed deserialise / re-serialise cycle ever runs over them.

public System.Text.Json.Nodes.JsonObject Json { get; }

Property Value

System.Text.Json.Nodes.JsonObject

AuthorizationDetail.Locations Property

Locations of the resource server(s) the client wants to access, per RFC 9396 §2.2. Typically URIs identifying resource servers.

public System.Collections.Generic.IEnumerable<string>? Locations { get; set; }

Property Value

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

AuthorizationDetail.Privileges Property

Types or levels of privilege being requested at the resource, per RFC 9396 §2.2.

public System.Collections.Generic.IEnumerable<string>? Privileges { get; set; }

Property Value

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

AuthorizationDetail.Type Property

The authorization-detail type identifier per RFC 9396 §2.1. Required by the spec; the per-type validator rejects entries where this member is missing with invalid_authorization_details.

public string? Type { get; set; }

Property Value

System.String