Skip to content

ValidAuthorizationRequest Class

Output of IAuthorizationRequestValidator handed to IAuthorizationRequestProcessor. Snapshot of the data resolved during validation: the wire-level request, the authenticated client, the negotiated response mode (per OAuth 2.0 Multiple Response Types / Form Post), and the materialized scope and resource definitions ready for consent and token issuance.

C#
public record ValidAuthorizationRequest : System.IEquatable<Abblix.Oidc.Server.Endpoints.Authorization.Interfaces.ValidAuthorizationRequest>

Inheritance System.Object → ValidAuthorizationRequest

Implements System.IEquatable<ValidAuthorizationRequest>

Constructors

ValidAuthorizationRequest(AuthorizationValidationContext) Constructor

Snapshots the validated state from the shared AuthorizationValidationContext once the validator pipeline has completed.

C#
public ValidAuthorizationRequest(Abblix.Oidc.Server.Endpoints.Authorization.Validation.AuthorizationValidationContext context);

Parameters

context AuthorizationValidationContext

Properties

ValidAuthorizationRequest.AuthorizationDetails Property

RFC 9396 Rich Authorization Requests array, snapshot from AuthorizationDetails at the end of the validator pipeline -- i.e. post per-client allowlist filtering and post per-type validator narrow/extend mutations. IUserConsentsProvider reads this slot to render the consent UI; downstream consent emits its (possibly further-narrowed) decision via AuthorizationDetails. null when the request did not include authorization_details.

C#
public System.Text.Json.Nodes.JsonArray? AuthorizationDetails { get; init; }

Property Value

System.Text.Json.Nodes.JsonArray

ValidAuthorizationRequest.ClientInfo Property

Information about the client making the request, as determined during validation.

C#
public Abblix.Oidc.Server.Features.ClientInformation.ClientInfo ClientInfo { get; init; }

Property Value

ClientInfo

ValidAuthorizationRequest.IdTokenHintSubject Property

The end user the request's id_token_hint names, as that ID token spells it, or null when the request carried no hint.

C#
public string? IdTokenHintSubject { get; init; }

Property Value

System.String

Remarks

For a pairwise client this is the pseudonym sealed to that client's sector rather than the subject a session carries, so a comparison converts the session forward rather than opening this.

ValidAuthorizationRequest.Model Property

The original or recovered request model that was validated.

C#
public Abblix.Oidc.Server.Model.AuthorizationRequest Model { get; init; }

Property Value

AuthorizationRequest

ValidAuthorizationRequest.RequestedSubjects Property

The end users the request's claims parameter will accept for sub, or null when it asked for none in particular. An empty array accepts nobody.

C#
public string[]? RequestedSubjects { get; init; }

Property Value

System.String[]

Remarks

Independent of IdTokenHintSubject - a request may state both, and both bind. Spelled the way the client wrote them, so a comparison converts the session forward rather than opening these.

ValidAuthorizationRequest.RequestUri Property

The pushed authorization request URN (RFC 9126) this request was resolved from, or null when the request was not pushed. Surfaced here so the single-use decorator can consume it once a code or token has been issued, without reaching into Model.

C#
public System.Uri? RequestUri { get; init; }

Property Value

System.Uri

ValidAuthorizationRequest.Resources Property

The resources associated with the authorization request, detailing the specific resources the client is requesting access to.

C#
public Abblix.Oidc.Server.Common.Constants.ResourceDefinition[] Resources { get; set; }

Property Value

ResourceDefinition[]

ValidAuthorizationRequest.ResponseMode Property

The response mode to be used for delivering the authorization response.

C#
public string ResponseMode { get; init; }

Property Value

System.String

ValidAuthorizationRequest.Scope Property

The scope associated with the authorization request, indicating the permissions requested by the client.

C#
public Abblix.Oidc.Server.Common.Constants.ScopeDefinition[] Scope { get; set; }

Property Value

ScopeDefinition[]