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

## ValidUserCode Class

Indicates that the user code was successfully verified and the request is pending authorization\.

```csharp
public record ValidUserCode : Abblix.Oidc.Server.Features.DeviceAuthorization.UserCodeVerificationResult, System.IEquatable<Abblix.Oidc.Server.Features.DeviceAuthorization.ValidUserCode>
```

Inheritance [System\.Object](https://learn.microsoft.com/en-us/dotnet/api/system.object 'System\.Object') → [UserCodeVerificationResult](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Features.DeviceAuthorization.UserCodeVerificationResult 'Abblix\.Oidc\.Server\.Features\.DeviceAuthorization\.UserCodeVerificationResult') → ValidUserCode

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

## ValidUserCode\(string, string\[\], Uri\[\], JsonArray\) Constructor {#Abblix.Oidc.Server.Features.DeviceAuthorization.ValidUserCode.ValidUserCode(string,string[],System.Uri[],System.Text.Json.Nodes.JsonArray)}

Indicates that the user code was successfully verified and the request is pending authorization\.

```csharp
public ValidUserCode(string ClientId, string[] Scope, System.Uri[]? Resources, System.Text.Json.Nodes.JsonArray? AuthorizationDetails);
```
#### Parameters

###### `ClientId` [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String') {#Abblix.Oidc.Server.Features.DeviceAuthorization.ValidUserCode.ValidUserCode(string,string[],System.Uri[],System.Text.Json.Nodes.JsonArray).ClientId}

The client identifier that initiated the device authorization request\.

###### `Scope` [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') {#Abblix.Oidc.Server.Features.DeviceAuthorization.ValidUserCode.ValidUserCode(string,string[],System.Uri[],System.Text.Json.Nodes.JsonArray).Scope}

The requested scopes for the authorization\.

###### `Resources` [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') {#Abblix.Oidc.Server.Features.DeviceAuthorization.ValidUserCode.ValidUserCode(string,string[],System.Uri[],System.Text.Json.Nodes.JsonArray).Resources}

The requested resources \(RFC 8707\) for the authorization\.

###### `AuthorizationDetails` [System\.Text\.Json\.Nodes\.JsonArray](https://learn.microsoft.com/en-us/dotnet/api/system.text.json.nodes.jsonarray 'System\.Text\.Json\.Nodes\.JsonArray') {#Abblix.Oidc.Server.Features.DeviceAuthorization.ValidUserCode.ValidUserCode(string,string[],System.Uri[],System.Text.Json.Nodes.JsonArray).AuthorizationDetails}

RFC 9396 §3 Rich Authorization Requests array from
            the original /device\_authorization request\. The host's user\-verification UI renders these
            for consent and threads the user's decision onto the AuthorizedGrant's AuthorizationContext\.
### Properties

## ValidUserCode\.AuthorizationDetails Property {#Abblix.Oidc.Server.Features.DeviceAuthorization.ValidUserCode.AuthorizationDetails}

RFC 9396 §3 Rich Authorization Requests array from
            the original /device\_authorization request\. The host's user\-verification UI renders these
            for consent and threads the user's decision onto the AuthorizedGrant's AuthorizationContext\.

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

## ValidUserCode\.ClientId Property {#Abblix.Oidc.Server.Features.DeviceAuthorization.ValidUserCode.ClientId}

The client identifier that initiated the device authorization request\.

```csharp
public string ClientId { get; init; }
```

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

## ValidUserCode\.Resources Property {#Abblix.Oidc.Server.Features.DeviceAuthorization.ValidUserCode.Resources}

The requested resources \(RFC 8707\) for the authorization\.

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

## ValidUserCode\.Scope Property {#Abblix.Oidc.Server.Features.DeviceAuthorization.ValidUserCode.Scope}

The requested scopes for the authorization\.

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