Table of Contents

Class DPoPProofValidationResult

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

The outcome of validating a proof, and what was read from it on the way.

public class DPoPProofValidationResult
Inheritance
DPoPProofValidationResult
Inherited Members

Remarks

Settable, as Duende 8.0.1's is: each of the validator's steps records into it, and a refusal is set on it.

Properties

AccessTokenHash

The proof's ath.

public string? AccessTokenHash { get; set; }

Property Value

string

Confirmation

The cnf value: the access token's, when it was checked, else one naming the proof's key.

public string? Confirmation { get; set; }

Property Value

string

Error

Why it was refused: the error code: invalid_dpop_proof, or use_dpop_nonce when the client must sign a fresh ServerIssuedNonce into its next proof.

public string? Error { get; set; }

Property Value

string

ErrorDescription

A human-readable explanation of the refusal, sent to the client as the token endpoint's error_description or in a resource's challenge.

public string? ErrorDescription { get; set; }

Property Value

string

IsError

Whether the proof was refused.

public bool IsError { get; set; }

Property Value

bool

IssuedAt

The proof's iat, in seconds since the epoch.

public long? IssuedAt { get; set; }

Property Value

long?

JsonWebKey

The proof's key, as the JSON it arrived as.

public string? JsonWebKey { get; set; }

Property Value

string

JsonWebKeyThumbprint

The thumbprint of the key the proof was signed with, to bind the token to. Duende's name; Thumbprint until 0.138.0.

public string? JsonWebKeyThumbprint { get; set; }

Property Value

string

Nonce

The nonce the proof carried, if any.

public string? Nonce { get; set; }

Property Value

string

Payload

The proof's claims, once its signature has verified.

public IDictionary<string, object>? Payload { get; set; }

Property Value

IDictionary<string, object>

ServerIssuedNonce

A nonce for the client to use next, sent back in the DPoP-Nonce header.

public string? ServerIssuedNonce { get; set; }

Property Value

string

TokenId

The proof's jti.

public string? TokenId { get; set; }

Property Value

string

Methods

Failure(string)

Refuses a proof, saying why.

public static DPoPProofValidationResult Failure(string description)

Parameters

description string

Returns

DPoPProofValidationResult

NonceRequired(string, string)

RFC 9449 ยง8: refused until the client signs serverIssuedNonce into a new proof.

public static DPoPProofValidationResult NonceRequired(string description, string serverIssuedNonce)

Parameters

description string
serverIssuedNonce string

Returns

DPoPProofValidationResult

Success(string, string?)

Accepts a proof signed by the key with this thumbprint.

public static DPoPProofValidationResult Success(string thumbprint, string? nonce = null)

Parameters

thumbprint string
nonce string

Returns

DPoPProofValidationResult