Table of Contents

Class PushedAuthorizationResponseGenerator

Namespace
Fdyay.IdentityServer.ResponseHandling
Assembly
Fdyay.IdentityServer.AspNetCore.dll

Duende's default pushed authorization response generator.

public class PushedAuthorizationResponseGenerator : IPushedAuthorizationResponseGenerator
Inheritance
PushedAuthorizationResponseGenerator
Implements
Inherited Members

Remarks

In the ASP.NET Core assembly rather than with its interface, beside the reference and parameter formats the authorize endpoint redeems.

Constructors

PushedAuthorizationResponseGenerator(IPushedAuthorizationRequestStore, IOptions<IdentityServerOptions>, TimeProvider)

Creates the generator, as the container resolves it.

public PushedAuthorizationResponseGenerator(IPushedAuthorizationRequestStore store, IOptions<IdentityServerOptions> options, TimeProvider timeProvider)

Parameters

store IPushedAuthorizationRequestStore

Where the pushed request is stored under its reference.

options IOptions<IdentityServerOptions>

The server options; PushedAuthorization.Lifetime is the longest a reference lives.

timeProvider TimeProvider

The clock a reference's expiry is computed from.

Exceptions

ArgumentNullException

options is null.

Properties

Options

The server options, as they stood when the generator was created.

protected IdentityServerOptions Options { get; }

Property Value

IdentityServerOptions

Store

Where pushed requests are kept. Duende's PushedAuthorizationService; here the store.

protected IPushedAuthorizationRequestStore Store { get; }

Property Value

IPushedAuthorizationRequestStore

TimeProvider

The clock a reference's expiry is computed from.

protected TimeProvider TimeProvider { get; }

Property Value

TimeProvider

Methods

CreateResponseAsync(ValidatedPushedAuthorizationRequest, CancellationToken)

Stores the pushed request under a new single-use reference and answers its request_uri and expires_in (RFC 9126 ยง2.2). The lifetime is the client's PushedAuthorizationLifetime when it is positive and shorter than the server's PushedAuthorization.Lifetime, otherwise the server's.

public virtual Task<PushedAuthorizationResponse> CreateResponseAsync(ValidatedPushedAuthorizationRequest request, CancellationToken ct)

Parameters

request ValidatedPushedAuthorizationRequest

The validated pushed request.

ct CancellationToken

Cancels the store write.

Returns

Task<PushedAuthorizationResponse>

The success response.

Exceptions

ArgumentNullException

request is null.