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
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; }