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

## IClientInfoProvider Interface

Provides access to OAuth 2\.0 client information, enabling the retrieval of client details by client ID\.

```csharp
public interface IClientInfoProvider
```

### Remarks
This interface is crucial for supporting OAuth 2\.0 and OpenID Connect operations, such as token issuance
and validation, by allowing the system to retrieve the configuration and settings for registered clients\.
It abstracts the underlying storage mechanism, whether it's a database, in\-memory collection, or an external service\.
### Methods

## IClientInfoProvider\.TryFindClientAsync\(string\) Method {#Abblix.Oidc.Server.Features.ClientInformation.IClientInfoProvider.TryFindClientAsync(string)}

Asynchronously attempts to find a client's information using its unique identifier\.

```csharp
System.Threading.Tasks.Task<Abblix.Oidc.Server.Features.ClientInformation.ClientInfo?> TryFindClientAsync(string clientId);
```
#### Parameters

###### `clientId` [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String') {#Abblix.Oidc.Server.Features.ClientInformation.IClientInfoProvider.TryFindClientAsync(string).clientId}

The unique identifier of the client whose information is being requested\.

#### Returns
[System\.Threading\.Tasks\.Task&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1 'System\.Threading\.Tasks\.Task\`1')[ClientInfo](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Features.ClientInformation.ClientInfo 'Abblix\.Oidc\.Server\.Features\.ClientInformation\.ClientInfo')[&gt;](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1 'System\.Threading\.Tasks\.Task\`1')  
A task that returns the client's information if found;
otherwise, null\. This allows for non\-blocking queries to the underlying client information storage\.

### Remarks
This method facilitates dynamic client management by enabling on\-demand lookup of client configurations
during OAuth 2\.0 and OpenID Connect flows, supporting scenarios such as dynamic client registration
and configuration updates\.
