#### [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')

## DeviceAuthorizationValidationContext Class

Represents the context for validating a device authorization request\.

```csharp
public record DeviceAuthorizationValidationContext : System.IEquatable<Abblix.Oidc.Server.Endpoints.DeviceAuthorization.Validation.DeviceAuthorizationValidationContext>
```

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

Implements [System\.IEquatable&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.iequatable-1 'System\.IEquatable\`1')[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')[&gt;](https://learn.microsoft.com/en-us/dotnet/api/system.iequatable-1 'System\.IEquatable\`1')
### Constructors

## DeviceAuthorizationValidationContext\(DeviceAuthorizationRequest, ClientRequest\) Constructor {#Abblix.Oidc.Server.Endpoints.DeviceAuthorization.Validation.DeviceAuthorizationValidationContext.DeviceAuthorizationValidationContext(Abblix.Oidc.Server.Model.DeviceAuthorizationRequest,Abblix.Oidc.Server.Model.ClientRequest)}

Represents the context for validating a device authorization request\.

```csharp
public DeviceAuthorizationValidationContext(Abblix.Oidc.Server.Model.DeviceAuthorizationRequest Request, Abblix.Oidc.Server.Model.ClientRequest ClientRequest);
```
#### Parameters

###### `Request` [DeviceAuthorizationRequest](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Model.DeviceAuthorizationRequest 'Abblix\.Oidc\.Server\.Model\.DeviceAuthorizationRequest') {#Abblix.Oidc.Server.Endpoints.DeviceAuthorization.Validation.DeviceAuthorizationValidationContext.DeviceAuthorizationValidationContext(Abblix.Oidc.Server.Model.DeviceAuthorizationRequest,Abblix.Oidc.Server.Model.ClientRequest).Request}

The device authorization request being validated\.

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

The client request with authentication information\.
### Properties

## DeviceAuthorizationValidationContext\.AuthorizationDetails Property {#Abblix.Oidc.Server.Endpoints.DeviceAuthorization.Validation.DeviceAuthorizationValidationContext.AuthorizationDetails}

RFC 9396 §3 Rich Authorization Requests array, populated after per\-client allowlist
and per\-type validator dispatch by [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')\.
`null` when the request did not include `authorization_details`\.

```csharp
public System.Text.Json.Nodes.JsonArray? AuthorizationDetails { get; set; }
```

#### Property Value
[System\.Text\.Json\.Nodes\.JsonArray](https://learn.microsoft.com/en-us/dotnet/api/system.text.json.nodes.jsonarray 'System\.Text\.Json\.Nodes\.JsonArray')

## DeviceAuthorizationValidationContext\.ClientInfo Property {#Abblix.Oidc.Server.Endpoints.DeviceAuthorization.Validation.DeviceAuthorizationValidationContext.ClientInfo}

The authenticated client information\.

```csharp
public Abblix.Oidc.Server.Features.ClientInformation.ClientInfo ClientInfo { get; set; }
```

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

## DeviceAuthorizationValidationContext\.ClientRequest Property {#Abblix.Oidc.Server.Endpoints.DeviceAuthorization.Validation.DeviceAuthorizationValidationContext.ClientRequest}

The client request with authentication information\.

```csharp
public Abblix.Oidc.Server.Model.ClientRequest ClientRequest { get; init; }
```

#### Property Value
[ClientRequest](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Model.ClientRequest 'Abblix\.Oidc\.Server\.Model\.ClientRequest')

## DeviceAuthorizationValidationContext\.Request Property {#Abblix.Oidc.Server.Endpoints.DeviceAuthorization.Validation.DeviceAuthorizationValidationContext.Request}

The device authorization request being validated\.

```csharp
public Abblix.Oidc.Server.Model.DeviceAuthorizationRequest Request { get; init; }
```

#### Property Value
[DeviceAuthorizationRequest](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Model.DeviceAuthorizationRequest 'Abblix\.Oidc\.Server\.Model\.DeviceAuthorizationRequest')

## DeviceAuthorizationValidationContext\.Resources Property {#Abblix.Oidc.Server.Endpoints.DeviceAuthorization.Validation.DeviceAuthorizationValidationContext.Resources}

The validated resource definitions for the request\.

```csharp
public Abblix.Oidc.Server.Common.Constants.ResourceDefinition[] Resources { get; set; }
```

#### Property Value
[ResourceDefinition](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Common.Constants.ResourceDefinition 'Abblix\.Oidc\.Server\.Common\.Constants\.ResourceDefinition')[\[\]](https://learn.microsoft.com/en-us/dotnet/api/system.array 'System\.Array')

## DeviceAuthorizationValidationContext\.Scope Property {#Abblix.Oidc.Server.Endpoints.DeviceAuthorization.Validation.DeviceAuthorizationValidationContext.Scope}

The validated scope definitions for the request\.

```csharp
public Abblix.Oidc.Server.Common.Constants.ScopeDefinition[] Scope { get; set; }
```

#### Property Value
[ScopeDefinition](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Common.Constants.ScopeDefinition 'Abblix\.Oidc\.Server\.Common\.Constants\.ScopeDefinition')[\[\]](https://learn.microsoft.com/en-us/dotnet/api/system.array 'System\.Array')
