#### [Abblix\.Jwt](https://www.abblix.com/en/docs/api/abblix-jwt 'index')
### [Abblix\.Jwt](https://www.abblix.com/en/docs/api/abblix-jwt/Abblix.Jwt 'Abblix\.Jwt')

## IJsonWebTokenValidator Interface

Defines the contract for a service that validates JSON Web Tokens \(JWTs\)\.

```csharp
public interface IJsonWebTokenValidator
```
### Properties

## IJsonWebTokenValidator\.EncryptionAlgorithmsSupported Property {#Abblix.Jwt.IJsonWebTokenValidator.EncryptionAlgorithmsSupported}

Indicates which JWE key\-management algorithms \(the `alg` header values, e\.g\. "RSA\-OAEP\-256"\)
the validator can use to decrypt incoming encrypted JWTs, such as JWE\-wrapped request objects\.

```csharp
System.Collections.Generic.IEnumerable<string> EncryptionAlgorithmsSupported { get; }
```

#### Property Value
[System\.Collections\.Generic\.IEnumerable&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.ienumerable-1 'System\.Collections\.Generic\.IEnumerable\`1')[System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String')[&gt;](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.ienumerable-1 'System\.Collections\.Generic\.IEnumerable\`1')

## IJsonWebTokenValidator\.EncryptionMethodsSupported Property {#Abblix.Jwt.IJsonWebTokenValidator.EncryptionMethodsSupported}

Indicates which JWE content\-encryption algorithms \(the `enc` header values, e\.g\. "A256GCM"\)
the validator can use to decrypt incoming encrypted JWTs, such as JWE\-wrapped request objects\.

```csharp
System.Collections.Generic.IEnumerable<string> EncryptionMethodsSupported { get; }
```

#### Property Value
[System\.Collections\.Generic\.IEnumerable&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.ienumerable-1 'System\.Collections\.Generic\.IEnumerable\`1')[System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String')[&gt;](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.ienumerable-1 'System\.Collections\.Generic\.IEnumerable\`1')

## IJsonWebTokenValidator\.SigningAlgorithmsSupported Property {#Abblix.Jwt.IJsonWebTokenValidator.SigningAlgorithmsSupported}

Indicates which algorithms are accepted by the validator for verifying the signatures of incoming JWTs,
ensuring that only tokens signed with recognized and secure algorithms are considered valid\.

```csharp
System.Collections.Generic.IEnumerable<string> SigningAlgorithmsSupported { get; }
```

#### Property Value
[System\.Collections\.Generic\.IEnumerable&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.ienumerable-1 'System\.Collections\.Generic\.IEnumerable\`1')[System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String')[&gt;](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.ienumerable-1 'System\.Collections\.Generic\.IEnumerable\`1')
### Methods

## IJsonWebTokenValidator\.ValidateAsync\(string, ValidationParameters\) Method {#Abblix.Jwt.IJsonWebTokenValidator.ValidateAsync(string,Abblix.Jwt.ValidationParameters)}

Asynchronously validates a JWT against a set of specified parameters\.

```csharp
System.Threading.Tasks.Task<Abblix.Utils.Result<Abblix.Jwt.JsonWebToken,Abblix.Jwt.JwtValidationError>> ValidateAsync(string jwt, Abblix.Jwt.ValidationParameters parameters);
```
#### Parameters

###### `jwt` [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String') {#Abblix.Jwt.IJsonWebTokenValidator.ValidateAsync(string,Abblix.Jwt.ValidationParameters).jwt}

The JWT as a string to be validated\.

###### `parameters` [ValidationParameters](https://www.abblix.com/en/docs/api/abblix-jwt/Abblix.Jwt.ValidationParameters 'Abblix\.Jwt\.ValidationParameters') {#Abblix.Jwt.IJsonWebTokenValidator.ValidateAsync(string,Abblix.Jwt.ValidationParameters).parameters}

The parameters against which the JWT will be validated\.

#### 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')[JsonWebToken](https://www.abblix.com/en/docs/api/abblix-jwt/Abblix.Jwt.JsonWebToken 'Abblix\.Jwt\.JsonWebToken')[,](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 representing the asynchronous validation operation, which yields a Result containing either
            a validated JsonWebToken or a JwtValidationError\.
