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

## IRegisterClientHandler Interface

Handles `POST` requests to the registration endpoint per RFC 7591 §3 and the
OpenID Connect Dynamic Client Registration 1\.0 specification, validating supplied
metadata and provisioning a new client\.

```csharp
public interface IRegisterClientHandler
```

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

## IRegisterClientHandler\.HandleAsync\(ClientRegistrationRequest\) Method {#Abblix.Oidc.Server.Endpoints.DynamicClientManagement.Interfaces.IRegisterClientHandler.HandleAsync(Abblix.Oidc.Server.Model.ClientRegistrationRequest)}

Validates the supplied client metadata and, on success, creates the client record,
generates credentials, and issues the registration access token used for later
management operations \(RFC 7592\)\.

```csharp
System.Threading.Tasks.Task<Abblix.Utils.Result<Abblix.Oidc.Server.Endpoints.DynamicClientManagement.Interfaces.ClientRegistrationSuccessResponse,Abblix.Oidc.Server.Common.OidcError>> HandleAsync(Abblix.Oidc.Server.Model.ClientRegistrationRequest clientRegistrationRequest);
```
#### Parameters

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

The client metadata payload as defined in
            RFC 7591 §2 and OIDC Dynamic Client Registration 1\.0\.

#### 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')[ClientRegistrationSuccessResponse](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.DynamicClientManagement.Interfaces.ClientRegistrationSuccessResponse 'Abblix\.Oidc\.Server\.Endpoints\.DynamicClientManagement\.Interfaces\.ClientRegistrationSuccessResponse')[,](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 successful response per RFC 7591 §3\.2\.1 \(containing `client_id`,
`client_secret`, `registration_access_token`, etc\.\) or an error per §3\.2\.2\.
