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

## AuthorizationCodeGenerator Class

Generates secure authorization codes for OAuth 2\.0 authorization code flows\.
This implementation relies on cryptographic randomness to generate codes that are difficult to predict,
enhancing the security of the authorization process\.

```csharp
public class AuthorizationCodeGenerator : Abblix.Oidc.Server.Features.RandomGenerators.IAuthorizationCodeGenerator
```

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

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

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

Generates secure authorization codes for OAuth 2\.0 authorization code flows\.
This implementation relies on cryptographic randomness to generate codes that are difficult to predict,
enhancing the security of the authorization process\.

```csharp
public AuthorizationCodeGenerator(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.RandomGenerators.AuthorizationCodeGenerator.AuthorizationCodeGenerator(Microsoft.Extensions.Options.IOptions_Abblix.Oidc.Server.Common.Configuration.OidcOptions_).options}
### Methods

## AuthorizationCodeGenerator\.GenerateAuthorizationCode\(\) Method {#Abblix.Oidc.Server.Features.RandomGenerators.AuthorizationCodeGenerator.GenerateAuthorizationCode()}

Generates a unique authorization code using secure cryptographic methods\. The code is URL\-safe encoded
to ensure it can be transmitted safely in URLs\.

```csharp
public string GenerateAuthorizationCode();
```

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

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