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

## SecretLengthOptionsValidator Class

Fails loudly at startup when a configured secret\-bearing length is below the security floor for
its kind, instead of silently generating a guessable client secret, authorization code or
identifier at runtime\. Every shipped default is already at or above these floors, so a valid
configuration is unaffected; the validator only rejects a deliberately shortened value\.

```csharp
public class SecretLengthOptionsValidator : Microsoft.Extensions.Options.IValidateOptions<Abblix.Oidc.Server.Common.Configuration.OidcOptions>
```

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

Implements [Microsoft\.Extensions\.Options\.IValidateOptions&lt;](https://learn.microsoft.com/en-us/dotnet/api/microsoft.extensions.options.ivalidateoptions-1 'Microsoft\.Extensions\.Options\.IValidateOptions\`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.ivalidateoptions-1 'Microsoft\.Extensions\.Options\.IValidateOptions\`1')
### Fields

## SecretLengthOptionsValidator\.MinimumClientSecretLength Field {#Abblix.Oidc.Server.Common.Configuration.SecretLengthOptionsValidator.MinimumClientSecretLength}

Minimum length, in characters, of a generated client secret\. A client authenticating with
`client_secret_jwt` \(OpenID Connect Core §9\) uses the secret's UTF\-8 bytes as the HMAC
key, and RFC 7518 §3\.2 requires an HS256 key of at least 32 bytes; a shorter secret cannot
serve that method at all\.

```csharp
public const int MinimumClientSecretLength = 32;
```

#### Field Value
[System\.Int32](https://learn.microsoft.com/en-us/dotnet/api/system.int32 'System\.Int32')

## SecretLengthOptionsValidator\.MinimumRandomSecretLength Field {#Abblix.Oidc.Server.Common.Configuration.SecretLengthOptionsValidator.MinimumRandomSecretLength}

Minimum length, in characters, of an opaque random secret the server issues as a bearer value
\(authorization code, PAR request URI, session/token/grant identifier\)\. Below this a random
token becomes guessable; the value is a hard safety floor, well under every shipped default\.

```csharp
public const int MinimumRandomSecretLength = 16;
```

#### Field Value
[System\.Int32](https://learn.microsoft.com/en-us/dotnet/api/system.int32 'System\.Int32')
