Table of Contents

Class DefaultDPoPProofValidator

Namespace
Duende.IdentityServer.Validation
Assembly
Duende.IdentityServer.dll

Default implementation of IDPoPProofValidator

public class DefaultDPoPProofValidator : IDPoPProofValidator
Inheritance
DefaultDPoPProofValidator
Implements
Inherited Members

Constructors

DefaultDPoPProofValidator(IdentityServerOptions, IReplayCache, IClock, IDataProtectionProvider, ILogger<DefaultDPoPProofValidator>)

ctor

public DefaultDPoPProofValidator(IdentityServerOptions options, IReplayCache replayCache, IClock clock, IDataProtectionProvider dataProtectionProvider, ILogger<DefaultDPoPProofValidator> logger)

Parameters

options IdentityServerOptions
replayCache IReplayCache
clock IClock
dataProtectionProvider IDataProtectionProvider
logger ILogger<DefaultDPoPProofValidator>

Fields

Clock

The clock

protected readonly IClock Clock

Field Value

IClock

Logger

The logger

protected readonly ILogger Logger

Field Value

ILogger

Options

The options

protected readonly IdentityServerOptions Options

Field Value

IdentityServerOptions

ReplayCache

The replay cache

protected IReplayCache ReplayCache

Field Value

IReplayCache

Properties

DataProtector

The data protection provider

protected IDataProtector DataProtector { get; }

Property Value

IDataProtector

Methods

CreateNonce(DPoPProofValidatonContext, DPoPProofValidatonResult)

Creates a nonce value to return to the client.

protected virtual string CreateNonce(DPoPProofValidatonContext context, DPoPProofValidatonResult result)

Parameters

context DPoPProofValidatonContext
result DPoPProofValidatonResult

Returns

string

GetUnixTimeFromNonceAsync(DPoPProofValidatonContext, DPoPProofValidatonResult)

Reads the time the nonce was created.

protected virtual ValueTask<long> GetUnixTimeFromNonceAsync(DPoPProofValidatonContext context, DPoPProofValidatonResult result)

Parameters

context DPoPProofValidatonContext
result DPoPProofValidatonResult

Returns

ValueTask<long>

IsExpired(DPoPProofValidatonContext, DPoPProofValidatonResult, TimeSpan, long)

Validates the expiration of the DPoP proof. Returns true if the time is beyond the allowed limits, false otherwise.

protected virtual bool IsExpired(DPoPProofValidatonContext context, DPoPProofValidatonResult result, TimeSpan clockSkew, long issuedAtTime)

Parameters

context DPoPProofValidatonContext
result DPoPProofValidatonResult
clockSkew TimeSpan
issuedAtTime long

Returns

bool

ValidateAsync(DPoPProofValidatonContext)

public Task<DPoPProofValidatonResult> ValidateAsync(DPoPProofValidatonContext context)

Parameters

context DPoPProofValidatonContext

Returns

Task<DPoPProofValidatonResult>

ValidateFreshnessAsync(DPoPProofValidatonContext, DPoPProofValidatonResult)

Validates the freshness.

protected virtual Task ValidateFreshnessAsync(DPoPProofValidatonContext context, DPoPProofValidatonResult result)

Parameters

context DPoPProofValidatonContext
result DPoPProofValidatonResult

Returns

Task

ValidateHeaderAsync(DPoPProofValidatonContext, DPoPProofValidatonResult)

Validates the header.

protected virtual Task ValidateHeaderAsync(DPoPProofValidatonContext context, DPoPProofValidatonResult result)

Parameters

context DPoPProofValidatonContext
result DPoPProofValidatonResult

Returns

Task

ValidateIatAsync(DPoPProofValidatonContext, DPoPProofValidatonResult)

Validates the freshness of the iat value.

protected virtual Task ValidateIatAsync(DPoPProofValidatonContext context, DPoPProofValidatonResult result)

Parameters

context DPoPProofValidatonContext
result DPoPProofValidatonResult

Returns

Task

ValidateNonceAsync(DPoPProofValidatonContext, DPoPProofValidatonResult)

Validates the freshness of the nonce value.

protected virtual Task ValidateNonceAsync(DPoPProofValidatonContext context, DPoPProofValidatonResult result)

Parameters

context DPoPProofValidatonContext
result DPoPProofValidatonResult

Returns

Task

ValidatePayloadAsync(DPoPProofValidatonContext, DPoPProofValidatonResult)

Validates the payload.

protected virtual Task ValidatePayloadAsync(DPoPProofValidatonContext context, DPoPProofValidatonResult result)

Parameters

context DPoPProofValidatonContext
result DPoPProofValidatonResult

Returns

Task

ValidateReplayAsync(DPoPProofValidatonContext, DPoPProofValidatonResult)

Validates is the token has been replayed.

protected virtual Task ValidateReplayAsync(DPoPProofValidatonContext context, DPoPProofValidatonResult result)

Parameters

context DPoPProofValidatonContext
result DPoPProofValidatonResult

Returns

Task

ValidateSignatureAsync(DPoPProofValidatonContext, DPoPProofValidatonResult)

Validates the signature.

protected virtual Task ValidateSignatureAsync(DPoPProofValidatonContext context, DPoPProofValidatonResult result)

Parameters

context DPoPProofValidatonContext
result DPoPProofValidatonResult

Returns

Task