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
IdentityServerOptionsreplayCache
IReplayCacheclock
IClockdataProtectionProvider
IDataProtectionProviderlogger
ILogger<DefaultDPoPProofValidator>
Fields
Clock
The clock
protected readonly IClock Clock
Field Value
Logger
The logger
protected readonly ILogger Logger
Field Value
Options
The options
protected readonly IdentityServerOptions Options
Field Value
ReplayCache
The replay cache
protected IReplayCache ReplayCache
Field Value
Properties
DataProtector
The data protection provider
protected IDataProtector DataProtector { get; }
Property Value
Methods
CreateNonce(DPoPProofValidatonContext, DPoPProofValidatonResult)
Creates a nonce value to return to the client.
protected virtual string CreateNonce(DPoPProofValidatonContext context, DPoPProofValidatonResult result)
Parameters
context
DPoPProofValidatonContextresult
DPoPProofValidatonResult
Returns
GetUnixTimeFromNonceAsync(DPoPProofValidatonContext, DPoPProofValidatonResult)
Reads the time the nonce was created.
protected virtual ValueTask<long> GetUnixTimeFromNonceAsync(DPoPProofValidatonContext context, DPoPProofValidatonResult result)
Parameters
context
DPoPProofValidatonContextresult
DPoPProofValidatonResult
Returns
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
DPoPProofValidatonContextresult
DPoPProofValidatonResultclockSkew
TimeSpanissuedAtTime
long
Returns
ValidateAsync(DPoPProofValidatonContext)
public Task<DPoPProofValidatonResult> ValidateAsync(DPoPProofValidatonContext context)
Parameters
context
DPoPProofValidatonContext
Returns
ValidateFreshnessAsync(DPoPProofValidatonContext, DPoPProofValidatonResult)
Validates the freshness.
protected virtual Task ValidateFreshnessAsync(DPoPProofValidatonContext context, DPoPProofValidatonResult result)
Parameters
context
DPoPProofValidatonContextresult
DPoPProofValidatonResult
Returns
ValidateHeaderAsync(DPoPProofValidatonContext, DPoPProofValidatonResult)
Validates the header.
protected virtual Task ValidateHeaderAsync(DPoPProofValidatonContext context, DPoPProofValidatonResult result)
Parameters
context
DPoPProofValidatonContextresult
DPoPProofValidatonResult
Returns
ValidateIatAsync(DPoPProofValidatonContext, DPoPProofValidatonResult)
Validates the freshness of the iat value.
protected virtual Task ValidateIatAsync(DPoPProofValidatonContext context, DPoPProofValidatonResult result)
Parameters
context
DPoPProofValidatonContextresult
DPoPProofValidatonResult
Returns
ValidateNonceAsync(DPoPProofValidatonContext, DPoPProofValidatonResult)
Validates the freshness of the nonce value.
protected virtual Task ValidateNonceAsync(DPoPProofValidatonContext context, DPoPProofValidatonResult result)
Parameters
context
DPoPProofValidatonContextresult
DPoPProofValidatonResult
Returns
ValidatePayloadAsync(DPoPProofValidatonContext, DPoPProofValidatonResult)
Validates the payload.
protected virtual Task ValidatePayloadAsync(DPoPProofValidatonContext context, DPoPProofValidatonResult result)
Parameters
context
DPoPProofValidatonContextresult
DPoPProofValidatonResult
Returns
ValidateReplayAsync(DPoPProofValidatonContext, DPoPProofValidatonResult)
Validates is the token has been replayed.
protected virtual Task ValidateReplayAsync(DPoPProofValidatonContext context, DPoPProofValidatonResult result)
Parameters
context
DPoPProofValidatonContextresult
DPoPProofValidatonResult
Returns
ValidateSignatureAsync(DPoPProofValidatonContext, DPoPProofValidatonResult)
Validates the signature.
protected virtual Task ValidateSignatureAsync(DPoPProofValidatonContext context, DPoPProofValidatonResult result)
Parameters
context
DPoPProofValidatonContextresult
DPoPProofValidatonResult