Skip to main content

PushedRequestFetcher Class

Abblix.Oidc.Server

Abblix.Oidc.Server.Endpoints.Authorization.RequestFetching

PushedRequestFetcher Class

Fetches pushed authorization request objects identified by a URN (Uniform Resource Name) from a storage system.

public class PushedRequestFetcher : Abblix.Oidc.Server.Endpoints.Authorization.RequestFetching.IAuthorizationRequestFetcher

Inheritance System.Object → PushedRequestFetcher

Implements IAuthorizationRequestFetcher

Constructors

PushedRequestFetcher(IOptionsSnapshot<OidcOptions>, IAuthorizationRequestStorage, IClientInfoProvider) Constructor

Fetches pushed authorization request objects identified by a URN (Uniform Resource Name) from a storage system.

public PushedRequestFetcher(Microsoft.Extensions.Options.IOptionsSnapshot<Abblix.Oidc.Server.Common.Configuration.OidcOptions> options, Abblix.Oidc.Server.Features.Storages.IAuthorizationRequestStorage authorizationRequestStorage, Abblix.Oidc.Server.Features.ClientInformation.IClientInfoProvider clientInfoProvider);

Parameters

options Microsoft.Extensions.Options.IOptionsSnapshot<OidcOptions>

Provides configuration options for the OIDC server, such as whether PAR is required.

authorizationRequestStorage IAuthorizationRequestStorage

The storage system used to retrieve pushed authorization request objects.

clientInfoProvider IClientInfoProvider

Resolves the requesting client's registration to enforce the per-client PAR requirement.

Methods

PushedRequestFetcher.FetchAsync(AuthorizationRequest) Method

Asynchronously retrieves the pushed authorization request object associated with the specified URN.

public System.Threading.Tasks.Task<Abblix.Utils.Result<Abblix.Oidc.Server.Model.AuthorizationRequest,Abblix.Oidc.Server.Endpoints.Authorization.Interfaces.AuthorizationRequestValidationError>> FetchAsync(Abblix.Oidc.Server.Model.AuthorizationRequest request);

Parameters

request AuthorizationRequest

The authorization request containing a URN from which to fetch the stored pushed authorization request object.

Implements FetchAsync(AuthorizationRequest)

Returns

System.Threading.Tasks.Task<Abblix.Utils.Result<AuthorizationRequest,AuthorizationRequestValidationError>>
A task representing the asynchronous operation. The task result contains the fetched pushed authorization request object or an error if not found.

Remarks

This method checks if the provided authorization request contains a URN that references a pushed authorization request stored in the system. If the URN is valid and corresponds to a stored request, the method retrieves and returns the request object. If the request object cannot be found or the URN is invalid, an error is returned. Additionally, it checks the server configuration to enforce the Pushed Authorization Request (PAR) requirement.