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

## RemoveClientHandler Class

Default implementation of [IRemoveClientHandler](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.DynamicClientManagement.Interfaces.IRemoveClientHandler 'Abblix\.Oidc\.Server\.Endpoints\.DynamicClientManagement\.Interfaces\.IRemoveClientHandler') that authenticates the
registration access token via [IClientRequestValidator](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.DynamicClientManagement.Interfaces.IClientRequestValidator 'Abblix\.Oidc\.Server\.Endpoints\.DynamicClientManagement\.Interfaces\.IClientRequestValidator') and, on success,
delegates to the processor to delete the client per RFC 7592 §2\.3\.

```csharp
public class RemoveClientHandler : Abblix.Oidc.Server.Endpoints.DynamicClientManagement.Interfaces.IRemoveClientHandler
```

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

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

## RemoveClientHandler\(IClientRequestValidator, IRemoveClientRequestProcessor\) Constructor {#Abblix.Oidc.Server.Endpoints.DynamicClientManagement.RemoveClientHandler.RemoveClientHandler(Abblix.Oidc.Server.Endpoints.DynamicClientManagement.Interfaces.IClientRequestValidator,Abblix.Oidc.Server.Endpoints.DynamicClientManagement.Interfaces.IRemoveClientRequestProcessor)}

Default implementation of [IRemoveClientHandler](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.DynamicClientManagement.Interfaces.IRemoveClientHandler 'Abblix\.Oidc\.Server\.Endpoints\.DynamicClientManagement\.Interfaces\.IRemoveClientHandler') that authenticates the
registration access token via [IClientRequestValidator](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.DynamicClientManagement.Interfaces.IClientRequestValidator 'Abblix\.Oidc\.Server\.Endpoints\.DynamicClientManagement\.Interfaces\.IClientRequestValidator') and, on success,
delegates to the processor to delete the client per RFC 7592 §2\.3\.

```csharp
public RemoveClientHandler(Abblix.Oidc.Server.Endpoints.DynamicClientManagement.Interfaces.IClientRequestValidator validator, Abblix.Oidc.Server.Endpoints.DynamicClientManagement.Interfaces.IRemoveClientRequestProcessor processor);
```
#### Parameters

###### `validator` [IClientRequestValidator](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.DynamicClientManagement.Interfaces.IClientRequestValidator 'Abblix\.Oidc\.Server\.Endpoints\.DynamicClientManagement\.Interfaces\.IClientRequestValidator') {#Abblix.Oidc.Server.Endpoints.DynamicClientManagement.RemoveClientHandler.RemoveClientHandler(Abblix.Oidc.Server.Endpoints.DynamicClientManagement.Interfaces.IClientRequestValidator,Abblix.Oidc.Server.Endpoints.DynamicClientManagement.Interfaces.IRemoveClientRequestProcessor).validator}

Validator for the registration access token and target client\.

###### `processor` [IRemoveClientRequestProcessor](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.DynamicClientManagement.Interfaces.IRemoveClientRequestProcessor 'Abblix\.Oidc\.Server\.Endpoints\.DynamicClientManagement\.Interfaces\.IRemoveClientRequestProcessor') {#Abblix.Oidc.Server.Endpoints.DynamicClientManagement.RemoveClientHandler.RemoveClientHandler(Abblix.Oidc.Server.Endpoints.DynamicClientManagement.Interfaces.IClientRequestValidator,Abblix.Oidc.Server.Endpoints.DynamicClientManagement.Interfaces.IRemoveClientRequestProcessor).processor}

Processor that performs the actual deletion\.
### Methods

## RemoveClientHandler\.HandleAsync\(ClientRequest\) Method {#Abblix.Oidc.Server.Endpoints.DynamicClientManagement.RemoveClientHandler.HandleAsync(Abblix.Oidc.Server.Model.ClientRequest)}

Validates the request, then deletes the addressed client per RFC 7592 §2\.3\.

```csharp
public System.Threading.Tasks.Task<Abblix.Utils.Result<Abblix.Oidc.Server.Endpoints.DynamicClientManagement.Interfaces.RemoveClientSuccessfulResponse,Abblix.Oidc.Server.Common.OidcError>> HandleAsync(Abblix.Oidc.Server.Model.ClientRequest clientRequest);
```
#### Parameters

###### `clientRequest` [ClientRequest](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Model.ClientRequest 'Abblix\.Oidc\.Server\.Model\.ClientRequest') {#Abblix.Oidc.Server.Endpoints.DynamicClientManagement.RemoveClientHandler.HandleAsync(Abblix.Oidc.Server.Model.ClientRequest).clientRequest}

The DELETE request authenticated by a registration access token\.

Implements [HandleAsync\(ClientRequest\)](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.DynamicClientManagement.Interfaces.IRemoveClientHandler#Abblix.Oidc.Server.Endpoints.DynamicClientManagement.Interfaces.IRemoveClientHandler.HandleAsync(Abblix.Oidc.Server.Model.ClientRequest) 'Abblix\.Oidc\.Server\.Endpoints\.DynamicClientManagement\.Interfaces\.IRemoveClientHandler\.HandleAsync\(Abblix\.Oidc\.Server\.Model\.ClientRequest\)')

#### 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')[RemoveClientSuccessfulResponse](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.DynamicClientManagement.Interfaces.RemoveClientSuccessfulResponse 'Abblix\.Oidc\.Server\.Endpoints\.DynamicClientManagement\.Interfaces\.RemoveClientSuccessfulResponse')[,](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')
