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

## DeviceCodeGenerator Class

Generates high\-entropy device codes for the Device Authorization Grant \(RFC 8628\)\.
The device code is used by clients to poll the token endpoint\.

```csharp
public class DeviceCodeGenerator : Abblix.Oidc.Server.Features.DeviceAuthorization.Interfaces.IDeviceCodeGenerator
```

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

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

## DeviceCodeGenerator\(IOptions\<OidcOptions\>\) Constructor {#Abblix.Oidc.Server.Features.DeviceAuthorization.DeviceCodeGenerator.DeviceCodeGenerator(Microsoft.Extensions.Options.IOptions_Abblix.Oidc.Server.Common.Configuration.OidcOptions_)}

Generates high\-entropy device codes for the Device Authorization Grant \(RFC 8628\)\.
The device code is used by clients to poll the token endpoint\.

```csharp
public DeviceCodeGenerator(Microsoft.Extensions.Options.IOptions<Abblix.Oidc.Server.Common.Configuration.OidcOptions> options);
```
#### Parameters

###### `options` [Microsoft\.Extensions\.Options\.IOptions&lt;](https://learn.microsoft.com/en-us/dotnet/api/microsoft.extensions.options.ioptions-1 'Microsoft\.Extensions\.Options\.IOptions\`1')[OidcOptions](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Common.Configuration.OidcOptions 'Abblix\.Oidc\.Server\.Common\.Configuration\.OidcOptions')[&gt;](https://learn.microsoft.com/en-us/dotnet/api/microsoft.extensions.options.ioptions-1 'Microsoft\.Extensions\.Options\.IOptions\`1') {#Abblix.Oidc.Server.Features.DeviceAuthorization.DeviceCodeGenerator.DeviceCodeGenerator(Microsoft.Extensions.Options.IOptions_Abblix.Oidc.Server.Common.Configuration.OidcOptions_).options}

Configuration options containing device code length settings\.
### Methods

## DeviceCodeGenerator\.GenerateDeviceCode\(\) Method {#Abblix.Oidc.Server.Features.DeviceAuthorization.DeviceCodeGenerator.GenerateDeviceCode()}

Generates a high\-entropy device code that the client uses to poll the token endpoint\.

```csharp
public string GenerateDeviceCode();
```

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

#### Returns
[System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String')  
A cryptographically secure, URL\-safe device code\.
