#### [Abblix\.Oidc\.Server](https://www.abblix.com/en/docs/api/abblix-oidc-server 'index')
### [Abblix\.Oidc\.Server\.Features\.DPoP](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Features.DPoP 'Abblix\.Oidc\.Server\.Features\.DPoP')

## DPoPNonceValidator Class

Base class for DPoP\-aware endpoint validators that enforce the RFC 9449 §8 nonce
challenge\-response loop\. Encapsulates the proof\-claim check, fresh\-nonce issuance,
and [UseDPoPNonceError](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Common.UseDPoPNonceError 'Abblix\.Oidc\.Server\.Common\.UseDPoPNonceError') shaping; concrete validators override
[Abblix\.Oidc\.Server\.Features\.DPoP\.DPoPNonceValidator\.LogNonceChallengeIssued](https://learn.microsoft.com/en-us/dotnet/api/abblix.oidc.server.features.dpop.dpopnoncevalidator.lognoncechallengeissued 'Abblix\.Oidc\.Server\.Features\.DPoP\.DPoPNonceValidator\.LogNonceChallengeIssued') to attribute the «challenge issued» event to
their own endpoint `EventId`\.

```csharp
public abstract class DPoPNonceValidator
```

Inheritance [System\.Object](https://learn.microsoft.com/en-us/dotnet/api/system.object 'System\.Object') → DPoPNonceValidator

Derived  
↳ [DPoPTokenEndpointValidator](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.Token.Validation.DPoPTokenEndpointValidator 'Abblix\.Oidc\.Server\.Endpoints\.Token\.Validation\.DPoPTokenEndpointValidator')  
↳ [DPoPUserInfoValidator](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.UserInfo.Validation.DPoPUserInfoValidator 'Abblix\.Oidc\.Server\.Endpoints\.UserInfo\.Validation\.DPoPUserInfoValidator')
