Skip to main content

PushedAuthorizationRequestProcessorDecorator Class

Abblix.Oidc.Server

Abblix.Oidc.Server.Features.PushedAuthorization

PushedAuthorizationRequestProcessorDecorator Class

Enforces single-use of a pushed authorization request_uri (RFC 9126 §7.3) by decorating the authorization request processor. Once processing yields a terminal success — an authorization code or token has been minted — the request_uri is removed from storage so it cannot be replayed within its remaining time-to-live. Interactive continuations (login, consent, account selection) leave it in place so the user agent can re-enter the authorization endpoint with the same request_uri.

public class PushedAuthorizationRequestProcessorDecorator : Abblix.Oidc.Server.Endpoints.Authorization.Interfaces.IAuthorizationRequestProcessor

Inheritance System.Object → PushedAuthorizationRequestProcessorDecorator

Implements IAuthorizationRequestProcessor

Constructors

PushedAuthorizationRequestProcessorDecorator(IAuthorizationRequestProcessor, IAuthorizationRequestStorage) Constructor

Enforces single-use of a pushed authorization request_uri (RFC 9126 §7.3) by decorating the authorization request processor. Once processing yields a terminal success — an authorization code or token has been minted — the request_uri is removed from storage so it cannot be replayed within its remaining time-to-live. Interactive continuations (login, consent, account selection) leave it in place so the user agent can re-enter the authorization endpoint with the same request_uri.

public PushedAuthorizationRequestProcessorDecorator(Abblix.Oidc.Server.Endpoints.Authorization.Interfaces.IAuthorizationRequestProcessor inner, Abblix.Oidc.Server.Features.Storages.IAuthorizationRequestStorage authorizationRequestStorage);

Parameters

inner IAuthorizationRequestProcessor

The authorization request processor being decorated.

authorizationRequestStorage IAuthorizationRequestStorage

The storage backing pushed authorization requests, from which the consumed request_uri is removed on a terminal success.

Methods

PushedAuthorizationRequestProcessorDecorator.ProcessAsync(ValidAuthorizationRequest) Method

Delegates to the wrapped processor and, when the outcome is a successful authentication originating from a pushed request, consumes the originating request_uri to enforce single use.

public System.Threading.Tasks.Task<Abblix.Oidc.Server.Endpoints.Authorization.Interfaces.AuthorizationResponse> ProcessAsync(Abblix.Oidc.Server.Endpoints.Authorization.Interfaces.ValidAuthorizationRequest request);

Parameters

request ValidAuthorizationRequest

The validated authorization request to process.

Implements ProcessAsync(ValidAuthorizationRequest)

Returns

System.Threading.Tasks.Task<AuthorizationResponse>
The inner processor's AuthorizationResponse, unchanged.