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

## Abblix\.Oidc\.Server\.Features\.ReusePrevention Namespace

| Classes | |
| :--- | :--- |
| [AuthorizationValueReuseDetector](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Features.ReusePrevention.AuthorizationValueReuseDetector 'Abblix\.Oidc\.Server\.Features\.ReusePrevention\.AuthorizationValueReuseDetector') | Default [IAuthorizationValueReuseDetector](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Features.ReusePrevention.IAuthorizationValueReuseDetector 'Abblix\.Oidc\.Server\.Features\.ReusePrevention\.IAuthorizationValueReuseDetector') implementation backed by [IEntityStorage](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Features.Storages.IEntityStorage 'Abblix\.Oidc\.Server\.Features\.Storages\.IEntityStorage')\. It records a SHA\-256 hash of each value under a per\-client, per\-kind key with a time\-to\-live equal to the configured detection window, so a raw code\_challenge or nonce never lands in the cache and entries expire on their own\. |

| Interfaces | |
| :--- | :--- |
| [IAuthorizationValueReuseDetector](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Features.ReusePrevention.IAuthorizationValueReuseDetector 'Abblix\.Oidc\.Server\.Features\.ReusePrevention\.IAuthorizationValueReuseDetector') | Detects reuse of an authorization request's transaction\-binding values — the PKCE `code_challenge` \(RFC 7636\) and the OpenID Connect `nonce`\. Both must be transaction\-specific; a client that keeps sending a constant value defeats the protection they provide\. RFC 9700 \(OAuth 2\.0 Security BCP\) Section 2\.1\.1 encourages the authorization server to make a reasonable effort to detect and prevent this\. Detection is off unless [PkceAndNonceReuseDetectionInterval](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Common.Configuration.OidcOptions#Abblix.Oidc.Server.Common.Configuration.OidcOptions.PkceAndNonceReuseDetectionInterval 'Abblix\.Oidc\.Server\.Common\.Configuration\.OidcOptions\.PkceAndNonceReuseDetectionInterval') is set\. |
