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

## DeviceAuthorizationRequest Class

The transport\-bound counterpart of [DeviceAuthorizationRequest](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Model.DeviceAuthorizationRequest 'Abblix\.Oidc\.Server\.Model\.DeviceAuthorizationRequest') for the
device authorization endpoint \(RFC 8628\)\. All bound properties, model binders resolved from
the core wire\-format markers and the projection back onto the core model are generated from
the core type\.

```csharp
public record DeviceAuthorizationRequest : System.IEquatable<Abblix.Oidc.Server.Mvc.Model.DeviceAuthorizationRequest>
```

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

Implements [System\.IEquatable&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.iequatable-1 'System\.IEquatable\`1')[DeviceAuthorizationRequest](https://www.abblix.com/en/docs/api/abblix-oidc-server-mvc/Abblix.Oidc.Server.Mvc.Model.DeviceAuthorizationRequest 'Abblix\.Oidc\.Server\.Mvc\.Model\.DeviceAuthorizationRequest')[&gt;](https://learn.microsoft.com/en-us/dotnet/api/system.iequatable-1 'System\.IEquatable\`1')
### Properties

## DeviceAuthorizationRequest\.AuthorizationDetails Property {#Abblix.Oidc.Server.Mvc.Model.DeviceAuthorizationRequest.AuthorizationDetails}

RFC 9396 §3 Rich Authorization Requests array stored as the raw wire
[System\.Text\.Json\.Nodes\.JsonArray](https://learn.microsoft.com/en-us/dotnet/api/system.text.json.nodes.jsonarray 'System\.Text\.Json\.Nodes\.JsonArray')\. Device flows accept `authorization_details` by spec
reference \(RFC 9396 §3 cites RFC 8628\); the array carries through to the eventual
access token issued via the device\-code grant byte\-exact\.

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

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

## DeviceAuthorizationRequest\.Resources Property {#Abblix.Oidc.Server.Mvc.Model.DeviceAuthorizationRequest.Resources}

Specifies the resource for which the access token is requested\.
As defined in RFC 8707, this parameter requests access tokens with a specific
scope for a particular resource\.

```csharp
public System.Uri[]? Resources { get; init; }
```

#### Property Value
[System\.Uri](https://learn.microsoft.com/en-us/dotnet/api/system.uri 'System\.Uri')[\[\]](https://learn.microsoft.com/en-us/dotnet/api/system.array 'System\.Array')

## DeviceAuthorizationRequest\.Scope Property {#Abblix.Oidc.Server.Mvc.Model.DeviceAuthorizationRequest.Scope}

A space\-separated list of scopes requested by the client\.
Scopes define the level of access requested and the types of information
the client wants to retrieve\.

```csharp
public string[]? Scope { get; init; }
```

#### Property Value
[System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String')[\[\]](https://learn.microsoft.com/en-us/dotnet/api/system.array 'System\.Array')
### Methods

## DeviceAuthorizationRequest\.Map\(\) Method {#Abblix.Oidc.Server.Mvc.Model.DeviceAuthorizationRequest.Map()}

Projects the transport\-bound model onto its core counterpart, copying every bound
parameter so the core pipeline operates on a transport\-agnostic shape\.

```csharp
public Abblix.Oidc.Server.Model.DeviceAuthorizationRequest Map();
```

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

## DeviceAuthorizationRequest\.implicit operator DeviceAuthorizationRequest\(DeviceAuthorizationRequest\) Operator {#Abblix.Oidc.Server.Mvc.Model.DeviceAuthorizationRequest.op_ImplicitAbblix.Oidc.Server.Model.DeviceAuthorizationRequest(Abblix.Oidc.Server.Mvc.Model.DeviceAuthorizationRequest)}

Implicit form of [Map\(\)](https://www.abblix.com/en/docs/api/abblix-oidc-server-mvc/Abblix.Oidc.Server.Mvc.Model.DeviceAuthorizationRequest#Abblix.Oidc.Server.Mvc.Model.DeviceAuthorizationRequest.Map() 'Abblix\.Oidc\.Server\.Mvc\.Model\.DeviceAuthorizationRequest\.Map\(\)'), letting a bound model flow into any
core\-typed parameter or variable without an explicit call\.

```csharp
public static Abblix.Oidc.Server.Model.DeviceAuthorizationRequest implicit operator Abblix.Oidc.Server.Model.DeviceAuthorizationRequest(Abblix.Oidc.Server.Mvc.Model.DeviceAuthorizationRequest request);
```
#### Parameters

###### `request` [DeviceAuthorizationRequest](https://www.abblix.com/en/docs/api/abblix-oidc-server-mvc/Abblix.Oidc.Server.Mvc.Model.DeviceAuthorizationRequest 'Abblix\.Oidc\.Server\.Mvc\.Model\.DeviceAuthorizationRequest') {#Abblix.Oidc.Server.Mvc.Model.DeviceAuthorizationRequest.op_ImplicitAbblix.Oidc.Server.Model.DeviceAuthorizationRequest(Abblix.Oidc.Server.Mvc.Model.DeviceAuthorizationRequest).request}

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