Table of Contents

Class StrictRedirectUriValidatorAppAuth

Namespace
Fdyay.IdentityServer.Validation
Assembly
Fdyay.IdentityServer.Core.dll

StrictRedirectUriValidator, and for a native client that registered http://127.0.0.1, that address on any port โ€” RFC 8252 ยง7.3's loopback redirect.

public class StrictRedirectUriValidatorAppAuth : StrictRedirectUriValidator, IRedirectUriValidator
Inheritance
StrictRedirectUriValidatorAppAuth
Implements
Inherited Members

Remarks

Duende 8.0.1's StrictRedirectUriValidatorAppAuth, measured: only a client that requires PKCE, only when it registered exactly http://127.0.0.1, and only http://127.0.0.1:{port} with a port from 0 to 65535, followed by any path. The same for post-logout redirect URIs. Registered with AddAppAuthRedirectUriValidator().

Constructors

StrictRedirectUriValidatorAppAuth(ILogger<StrictRedirectUriValidatorAppAuth>, IOptions<IdentityServerOptions>?)

Creates the validator.

public StrictRedirectUriValidatorAppAuth(ILogger<StrictRedirectUriValidatorAppAuth> logger, IOptions<IdentityServerOptions>? options = null)

Parameters

logger ILogger<StrictRedirectUriValidatorAppAuth>

Where a URI rejected as a loopback redirect is logged, at debug level.

options IOptions<IdentityServerOptions>

This server's options, for PushedAuthorization.AllowUnregisteredPushedRedirectUris; without them, every redirect URI must be registered or a loopback one.

Methods

IsPostLogoutRedirectUriValidAsync(string, Client, CancellationToken)

Whether requestedUri is a post-logout redirect URI client may use.

public override Task<bool> IsPostLogoutRedirectUriValidAsync(string requestedUri, Client client, CancellationToken ct)

Parameters

requestedUri string
client Client
ct CancellationToken

Returns

Task<bool>

Remarks

True only when client registered requestedUri as a post-logout redirect URI, compared ordinally.

Exceptions

ArgumentNullException

client is null.

ArgumentNullException

client is null.

IsRedirectUriValidAsync(RedirectUriValidationContext, CancellationToken)

public override Task<bool> IsRedirectUriValidAsync(RedirectUriValidationContext context, CancellationToken ct)

Parameters

context RedirectUriValidationContext
ct CancellationToken

Returns

Task<bool>

Remarks

Duende's, measured: with PushedAuthorization.AllowUnregisteredPushedRedirectUris on, a client with RequireClientSecret may name any redirect URI in a pushed request and in its redemption โ€” it authenticated to push it. Otherwise the URI must be registered.

Exceptions

ArgumentNullException

context is null.