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

## IRevocationRequestProcessor Interface

Represents the capability to handle token revocation requests\.
The authorization server invalidates tokens immediately upon revocation, preventing their future use\.
Depending on the server's policy, revoking a token may also affect related tokens and the underlying authorization grant\.
If a refresh token is revoked and the server supports revocation of access tokens, associated access tokens should also be invalidated\.

```csharp
public interface IRevocationRequestProcessor
```

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

### Remarks
For more details, refer to RFC 7009 Section 2\.1: https://www.rfc-editor.org/rfc/rfc7009\#section-2.1
### Methods

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

Processes a token revocation request\.
This method is responsible for handling the request to revoke a token, ensuring that the token and any associated tokens are invalidated\.

```csharp
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.Interfaces.IRevocationRequestProcessor.ProcessAsync(Abblix.Oidc.Server.Endpoints.Revocation.Interfaces.ValidRevocationRequest).request}

The valid revocation request to be processed\. It contains the token that needs to be revoked along with any relevant information\.

#### 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 task representing the asynchronous operation, which upon completion will return 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\.
