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

## LicenseChecker Class

Manages and enforces licensing constraints on clients and issuers within the application, ensuring compliance
with defined licensing terms\.

```csharp
public static class LicenseChecker
```

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

### Remarks
This class dynamically validates the number of clients and issuers against the licensing terms,
logging warnings or errors when the application
operates beyond these constraints\. It supports real\-time updates to the license,
allowing the application to adjust to new licenses dynamically\.
### Methods

## LicenseChecker\.CheckClientLicense\(this ClientInfo\) Method {#Abblix.Oidc.Server.Features.Licensing.LicenseChecker.CheckClientLicense(thisAbblix.Oidc.Server.Features.ClientInformation.ClientInfo)}

Applies licensing checks to client information\.

```csharp
public static Abblix.Oidc.Server.Features.ClientInformation.ClientInfo? CheckClientLicense(this Abblix.Oidc.Server.Features.ClientInformation.ClientInfo? clientInfo);
```
#### Parameters

###### `clientInfo` [ClientInfo](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Features.ClientInformation.ClientInfo 'Abblix\.Oidc\.Server\.Features\.ClientInformation\.ClientInfo') {#Abblix.Oidc.Server.Features.Licensing.LicenseChecker.CheckClientLicense(thisAbblix.Oidc.Server.Features.ClientInformation.ClientInfo).clientInfo}

The client information to check against licensing constraints\.

#### Returns
[ClientInfo](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Features.ClientInformation.ClientInfo 'Abblix\.Oidc\.Server\.Features\.ClientInformation\.ClientInfo')  
The client information if it complies with the licensing constraints; otherwise, logs an error\.

## LicenseChecker\.CheckIssuer\(string\) Method {#Abblix.Oidc.Server.Features.Licensing.LicenseChecker.CheckIssuer(string)}

Applies licensing checks to an issuer value\.

```csharp
public static string CheckIssuer(string issuer);
```
#### Parameters

###### `issuer` [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String') {#Abblix.Oidc.Server.Features.Licensing.LicenseChecker.CheckIssuer(string).issuer}

The issuer to check against licensing constraints\.

#### Returns
[System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String')  
The issuer if it complies with the licensing constraints; otherwise, logs an error\.

## LicenseChecker\.WithLicenseCheck\(this Task\<ClientInfo\>\) Method {#Abblix.Oidc.Server.Features.Licensing.LicenseChecker.WithLicenseCheck(thisSystem.Threading.Tasks.Task_Abblix.Oidc.Server.Features.ClientInformation.ClientInfo_)}

Asynchronously applies licensing checks to a task that returns client information\.

```csharp
public static System.Threading.Tasks.Task<Abblix.Oidc.Server.Features.ClientInformation.ClientInfo?> WithLicenseCheck(this System.Threading.Tasks.Task<Abblix.Oidc.Server.Features.ClientInformation.ClientInfo?> clientInfo);
```
#### Parameters

###### `clientInfo` [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') {#Abblix.Oidc.Server.Features.Licensing.LicenseChecker.WithLicenseCheck(thisSystem.Threading.Tasks.Task_Abblix.Oidc.Server.Features.ClientInformation.ClientInfo_).clientInfo}

The task returning client information to be checked against licensing constraints\.

#### 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, upon completion, returns the client information if it complies with the licensing
            constraints; otherwise, logs an error\.
