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

## RevocationRequestProcessor Class

Processes revocation requests for tokens\.
This class is responsible for handling the logic associated with revoking tokens, such as access tokens or refresh tokens\.

```csharp
public class RevocationRequestProcessor : Abblix.Oidc.Server.Endpoints.Revocation.Interfaces.IRevocationRequestProcessor
```

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

Implements [IRevocationRequestProcessor](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.Revocation.Interfaces.IRevocationRequestProcessor 'Abblix\.Oidc\.Server\.Endpoints\.Revocation\.Interfaces\.IRevocationRequestProcessor')
### Constructors

## RevocationRequestProcessor\(ITokenRegistry, TimeProvider\) Constructor {#Abblix.Oidc.Server.Endpoints.Revocation.RevocationRequestProcessor.RevocationRequestProcessor(Abblix.Oidc.Server.Features.Storages.ITokenRegistry,System.TimeProvider)}

Processes revocation requests for tokens\.
This class is responsible for handling the logic associated with revoking tokens, such as access tokens or refresh tokens\.

```csharp
public RevocationRequestProcessor(Abblix.Oidc.Server.Features.Storages.ITokenRegistry tokenRegistry, System.TimeProvider clock);
```
#### Parameters

###### `tokenRegistry` [ITokenRegistry](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Features.Storages.ITokenRegistry 'Abblix\.Oidc\.Server\.Features\.Storages\.ITokenRegistry') {#Abblix.Oidc.Server.Endpoints.Revocation.RevocationRequestProcessor.RevocationRequestProcessor(Abblix.Oidc.Server.Features.Storages.ITokenRegistry,System.TimeProvider).tokenRegistry}

The token registry to be used by this processor for managing token statuses\.

###### `clock` [System\.TimeProvider](https://learn.microsoft.com/en-us/dotnet/api/system.timeprovider 'System\.TimeProvider') {#Abblix.Oidc.Server.Endpoints.Revocation.RevocationRequestProcessor.RevocationRequestProcessor(Abblix.Oidc.Server.Features.Storages.ITokenRegistry,System.TimeProvider).clock}

Provides the current time for timestamping the revocation operation\.
### Methods

## RevocationRequestProcessor\.ProcessAsync\(ValidRevocationRequest\) Method {#Abblix.Oidc.Server.Endpoints.Revocation.RevocationRequestProcessor.ProcessAsync(Abblix.Oidc.Server.Endpoints.Revocation.Interfaces.ValidRevocationRequest)}

Asynchronously processes a valid revocation request\.
This method handles the revocation of a specified token by changing its status to 'Revoked' in the token registry\.
The operation ensures that the token is no longer valid for any future requests\.

```csharp
public System.Threading.Tasks.Task<Abblix.Utils.Result<Abblix.Oidc.Server.Endpoints.Revocation.Interfaces.TokenRevoked,Abblix.Oidc.Server.Common.OidcError>> ProcessAsync(Abblix.Oidc.Server.Endpoints.Revocation.Interfaces.ValidRevocationRequest request);
```
#### Parameters

###### `request` [ValidRevocationRequest](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.Revocation.Interfaces.ValidRevocationRequest 'Abblix\.Oidc\.Server\.Endpoints\.Revocation\.Interfaces\.ValidRevocationRequest') {#Abblix.Oidc.Server.Endpoints.Revocation.RevocationRequestProcessor.ProcessAsync(Abblix.Oidc.Server.Endpoints.Revocation.Interfaces.ValidRevocationRequest).request}

The revocation request to be processed\. Contains information about the token to be revoked\.

Implements [ProcessAsync\(ValidRevocationRequest\)](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.Revocation.Interfaces.IRevocationRequestProcessor#Abblix.Oidc.Server.Endpoints.Revocation.Interfaces.IRevocationRequestProcessor.ProcessAsync(Abblix.Oidc.Server.Endpoints.Revocation.Interfaces.ValidRevocationRequest) 'Abblix\.Oidc\.Server\.Endpoints\.Revocation\.Interfaces\.IRevocationRequestProcessor\.ProcessAsync\(Abblix\.Oidc\.Server\.Endpoints\.Revocation\.Interfaces\.ValidRevocationRequest\)')

#### Returns
[System\.Threading\.Tasks\.Task&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1 'System\.Threading\.Tasks\.Task\`1')[Abblix\.Utils\.Result&lt;](https://learn.microsoft.com/en-us/dotnet/api/abblix.utils.result-2 'Abblix\.Utils\.Result\`2')[TokenRevoked](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.Revocation.Interfaces.TokenRevoked 'Abblix\.Oidc\.Server\.Endpoints\.Revocation\.Interfaces\.TokenRevoked')[,](https://learn.microsoft.com/en-us/dotnet/api/abblix.utils.result-2 'Abblix\.Utils\.Result\`2')[OidcError](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Common.OidcError 'Abblix\.Oidc\.Server\.Common\.OidcError')[&gt;](https://learn.microsoft.com/en-us/dotnet/api/abblix.utils.result-2 'Abblix\.Utils\.Result\`2')[&gt;](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1 'System\.Threading\.Tasks\.Task\`1')  
A [System\.Threading\.Tasks\.Task](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task 'System\.Threading\.Tasks\.Task') representing the asynchronous operation, which upon completion will yield a [Abblix\.Utils\.Result&lt;&gt;](https://learn.microsoft.com/en-us/dotnet/api/abblix.utils.result-2 'Abblix\.Utils\.Result\`2')
containing either [TokenRevoked](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.Revocation.Interfaces.TokenRevoked 'Abblix\.Oidc\.Server\.Endpoints\.Revocation\.Interfaces\.TokenRevoked') on success or [OidcError](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Common.OidcError 'Abblix\.Oidc\.Server\.Common\.OidcError') on failure\.
