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

## UserIdentityValidator Class

Validates the user's identity in a backchannel authentication request, ensuring that valid identity hints
\(e\.g\., login hints, tokens\) are provided and correctly processed\.

```csharp
public class UserIdentityValidator : Abblix.Oidc.Server.Endpoints.BackChannelAuthentication.Validation.IBackChannelAuthenticationContextValidator
```

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

Implements [IBackChannelAuthenticationContextValidator](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.BackChannelAuthentication.Validation.IBackChannelAuthenticationContextValidator 'Abblix\.Oidc\.Server\.Endpoints\.BackChannelAuthentication\.Validation\.IBackChannelAuthenticationContextValidator')
### Constructors

## UserIdentityValidator\(IAuthServiceJwtValidator, IClientJwtValidator\) Constructor {#Abblix.Oidc.Server.Endpoints.BackChannelAuthentication.Validation.UserIdentityValidator.UserIdentityValidator(Abblix.Oidc.Server.Features.Tokens.Validation.IAuthServiceJwtValidator,Abblix.Oidc.Server.Features.Tokens.Validation.IClientJwtValidator)}

Validates the user's identity in a backchannel authentication request, ensuring that valid identity hints
\(e\.g\., login hints, tokens\) are provided and correctly processed\.

```csharp
public UserIdentityValidator(Abblix.Oidc.Server.Features.Tokens.Validation.IAuthServiceJwtValidator idTokenValidator, Abblix.Oidc.Server.Features.Tokens.Validation.IClientJwtValidator clientJwtValidator);
```
#### Parameters

###### `idTokenValidator` [IAuthServiceJwtValidator](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Features.Tokens.Validation.IAuthServiceJwtValidator 'Abblix\.Oidc\.Server\.Features\.Tokens\.Validation\.IAuthServiceJwtValidator') {#Abblix.Oidc.Server.Endpoints.BackChannelAuthentication.Validation.UserIdentityValidator.UserIdentityValidator(Abblix.Oidc.Server.Features.Tokens.Validation.IAuthServiceJwtValidator,Abblix.Oidc.Server.Features.Tokens.Validation.IClientJwtValidator).idTokenValidator}

Validator for ID tokens issued by the authorization server\.

###### `clientJwtValidator` [IClientJwtValidator](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Features.Tokens.Validation.IClientJwtValidator 'Abblix\.Oidc\.Server\.Features\.Tokens\.Validation\.IClientJwtValidator') {#Abblix.Oidc.Server.Endpoints.BackChannelAuthentication.Validation.UserIdentityValidator.UserIdentityValidator(Abblix.Oidc.Server.Features.Tokens.Validation.IAuthServiceJwtValidator,Abblix.Oidc.Server.Features.Tokens.Validation.IClientJwtValidator).clientJwtValidator}

Validator for JWTs issued by clients\.
### Methods

## UserIdentityValidator\.ValidateAsync\(BackChannelAuthenticationValidationContext\) Method {#Abblix.Oidc.Server.Endpoints.BackChannelAuthentication.Validation.UserIdentityValidator.ValidateAsync(Abblix.Oidc.Server.Endpoints.BackChannelAuthentication.Validation.BackChannelAuthenticationValidationContext)}

Validates the user's identity based on the provided identity hints, such as login hint, login hint token,
or ID token hint\. It ensures that only one identity hint is present and attempts to process the hint
to confirm the user's identity\.

```csharp
public System.Threading.Tasks.Task<Abblix.Oidc.Server.Common.OidcError?> ValidateAsync(Abblix.Oidc.Server.Endpoints.BackChannelAuthentication.Validation.BackChannelAuthenticationValidationContext context);
```
#### Parameters

###### `context` [BackChannelAuthenticationValidationContext](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.BackChannelAuthentication.Validation.BackChannelAuthenticationValidationContext 'Abblix\.Oidc\.Server\.Endpoints\.BackChannelAuthentication\.Validation\.BackChannelAuthenticationValidationContext') {#Abblix.Oidc.Server.Endpoints.BackChannelAuthentication.Validation.UserIdentityValidator.ValidateAsync(Abblix.Oidc.Server.Endpoints.BackChannelAuthentication.Validation.BackChannelAuthenticationValidationContext).context}

Contains the backchannel authentication request and client information\.

Implements [ValidateAsync\(BackChannelAuthenticationValidationContext\)](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.BackChannelAuthentication.Validation.IBackChannelAuthenticationContextValidator#Abblix.Oidc.Server.Endpoints.BackChannelAuthentication.Validation.IBackChannelAuthenticationContextValidator.ValidateAsync(Abblix.Oidc.Server.Endpoints.BackChannelAuthentication.Validation.BackChannelAuthenticationValidationContext) 'Abblix\.Oidc\.Server\.Endpoints\.BackChannelAuthentication\.Validation\.IBackChannelAuthenticationContextValidator\.ValidateAsync\(Abblix\.Oidc\.Server\.Endpoints\.BackChannelAuthentication\.Validation\.BackChannelAuthenticationValidationContext\)')

#### Returns
[System\.Threading\.Tasks\.Task&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1 'System\.Threading\.Tasks\.Task\`1')[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/system.threading.tasks.task-1 'System\.Threading\.Tasks\.Task\`1')  
Returns a [OidcError](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Common.OidcError 'Abblix\.Oidc\.Server\.Common\.OidcError') if the identity validation fails,
or null if the identity is successfully validated\.
