IProofValidator Interface
Abblix.Oidc.Server
Abblix.Oidc.Server.Features.DPoP
IProofValidator Interface
Validates a DPoP proof JWT per RFC 9449 §4.2 / §4.3 (structure, signature, claim
shape) but excluding replay-cache and nonce checks. Those layered checks land
alongside the jti-replay-cache and DPoP-Nonce service in a separate slice and
build on the Proof returned by a successful validation here.
public interface IProofValidator
Methods
IProofValidator.ValidateAsync(string, string, CancellationToken) Method
Validates proofJwt as a DPoP proof for the current request.
The HTTP method and URI used for htm / htu binding checks come from
IRequestInfoProvider injected
into the validator, so callers never need to thread them through. When
accessToken is supplied (the proof accompanies a bearer-style
access-token presentation), the proof's ath claim is verified against the
access-token hash per RFC 9449 §4.2.
System.Threading.Tasks.Task<Abblix.Utils.Result<Abblix.Oidc.Server.Features.DPoP.Proof,Abblix.Oidc.Server.Features.DPoP.ProofError>> ValidateAsync(string proofJwt, string? accessToken=null, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken));
Parameters
proofJwt System.String
The compact JWS form of the DPoP proof, taken from the
DPoP request header.
accessToken System.String
The access token presented alongside the proof, when the
proof secures a resource-server request. null at the token endpoint where no
access token is yet bound.
cancellationToken System.Threading.CancellationToken
Cancellation token for the asynchronous call.
Returns
System.Threading.Tasks.Task<Abblix.Utils.Result<Proof,ProofError>>
A Abblix.Utils.Result<>: Proof when every
validation step passes, otherwise ProofError describing the failure
reason.