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

## IDeviceAuthorizationContextValidator Interface

Defines the contract for validating device authorization request contexts\.

```csharp
public interface IDeviceAuthorizationContextValidator
```

Derived  
↳ [ClientValidator](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.DeviceAuthorization.Validation.ClientValidator 'Abblix\.Oidc\.Server\.Endpoints\.DeviceAuthorization\.Validation\.ClientValidator')  
↳ [DeviceAuthorizationDetailsValidator](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.DeviceAuthorization.Validation.DeviceAuthorizationDetailsValidator 'Abblix\.Oidc\.Server\.Endpoints\.DeviceAuthorization\.Validation\.DeviceAuthorizationDetailsValidator')  
↳ [DeviceAuthorizationValidatorComposite](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.DeviceAuthorization.Validation.DeviceAuthorizationValidatorComposite 'Abblix\.Oidc\.Server\.Endpoints\.DeviceAuthorization\.Validation\.DeviceAuthorizationValidatorComposite')  
↳ [ResourceValidator](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.DeviceAuthorization.Validation.ResourceValidator 'Abblix\.Oidc\.Server\.Endpoints\.DeviceAuthorization\.Validation\.ResourceValidator')  
↳ [ScopeValidator](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.DeviceAuthorization.Validation.ScopeValidator 'Abblix\.Oidc\.Server\.Endpoints\.DeviceAuthorization\.Validation\.ScopeValidator')
### Methods

## IDeviceAuthorizationContextValidator\.ValidateAsync\(DeviceAuthorizationValidationContext\) Method {#Abblix.Oidc.Server.Endpoints.DeviceAuthorization.Validation.IDeviceAuthorizationContextValidator.ValidateAsync(Abblix.Oidc.Server.Endpoints.DeviceAuthorization.Validation.DeviceAuthorizationValidationContext)}

Validates the device authorization request context\.

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

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

The validation context containing the request and client information\.

#### 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')  
An OIDC error if validation fails, or null if validation succeeds\.
