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

## IClientJwtValidator Interface

Defines a contract for validating JSON Web Tokens \(JWTs\) issued by clients, specifically for client authentication\.

```csharp
public interface IClientJwtValidator
```

Derived  
↳ [ClientJwtValidator](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Features.Tokens.Validation.ClientJwtValidator 'Abblix\.Oidc\.Server\.Features\.Tokens\.Validation\.ClientJwtValidator')

### Remarks
This interface ensures that JWTs used in client authentication are properly validated according to
the specified options\. It also retrieves client information associated with the validated JWT,
which is essential for authorizing client requests\. Implementations of this interface should handle JWT validation,
including verifying the token's signature, issuer, audience and other claims\.
### Methods

## IClientJwtValidator\.ValidateAsync\(string, ValidationOptions\) Method {#Abblix.Oidc.Server.Features.Tokens.Validation.IClientJwtValidator.ValidateAsync(string,Abblix.Jwt.ValidationOptions)}

Asynchronously validates a JWT and retrieves associated client information if the validation is successful\.

```csharp
System.Threading.Tasks.Task<Abblix.Utils.Result<Abblix.Oidc.Server.Features.Tokens.Validation.ValidJsonWebToken,Abblix.Jwt.JwtValidationError>> ValidateAsync(string jwt, Abblix.Jwt.ValidationOptions options=Abblix.Jwt.ValidationOptions.Default);
```
#### Parameters

###### `jwt` [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String') {#Abblix.Oidc.Server.Features.Tokens.Validation.IClientJwtValidator.ValidateAsync(string,Abblix.Jwt.ValidationOptions).jwt}

The JWT to validate\.

###### `options` [ValidationOptions](https://www.abblix.com/en/docs/api/abblix-jwt/Abblix.Jwt.ValidationOptions 'Abblix\.Jwt\.ValidationOptions') {#Abblix.Oidc.Server.Features.Tokens.Validation.IClientJwtValidator.ValidateAsync(string,Abblix.Jwt.ValidationOptions).options}

Optional validation options that define the specific checks and constraints
            to apply during validation\. Default is [Default](https://www.abblix.com/en/docs/api/abblix-jwt/Abblix.Jwt.ValidationOptions#Abblix.Jwt.ValidationOptions.Default 'Abblix\.Jwt\.ValidationOptions\.Default')\.

#### 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')[ValidJsonWebToken](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Features.Tokens.Validation.ValidJsonWebToken 'Abblix\.Oidc\.Server\.Features\.Tokens\.Validation\.ValidJsonWebToken')[,](https://learn.microsoft.com/en-us/dotnet/api/abblix.utils.result-2 'Abblix\.Utils\.Result\`2')[JwtValidationError](https://www.abblix.com/en/docs/api/abblix-jwt/Abblix.Jwt.JwtValidationError 'Abblix\.Jwt\.JwtValidationError')[&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 that returns a Result containing either a ValidJsonWebToken on success,
or a JwtValidationError on failure\.
