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

## SecurityProfileValidator Class

Fail\-loud companion to the request\-time profile enforcement: rejects a registration whose declared
response types can never satisfy the security profile the client falls under, so the contradiction
surfaces at registration with a clear `invalid_client_metadata` diagnostic instead of as a
per\-request rejection the client has to reverse\-engineer later\. Whether a client is held to a
profile is a server\-side policy decision: a dynamically registered client cannot declare one, so it
inherits the server\-wide [DefaultSecurityProfile](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Common.Configuration.OidcOptions#Abblix.Oidc.Server.Common.Configuration.OidcOptions.DefaultSecurityProfile 'Abblix\.Oidc\.Server\.Common\.Configuration\.OidcOptions\.DefaultSecurityProfile')\.

```csharp
public class SecurityProfileValidator : Abblix.Oidc.Server.Endpoints.DynamicClientManagement.Validation.SyncClientRegistrationContextValidator
```

Inheritance [System\.Object](https://learn.microsoft.com/en-us/dotnet/api/system.object 'System\.Object') → [SyncClientRegistrationContextValidator](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.DynamicClientManagement.Validation.SyncClientRegistrationContextValidator 'Abblix\.Oidc\.Server\.Endpoints\.DynamicClientManagement\.Validation\.SyncClientRegistrationContextValidator') → SecurityProfileValidator
### Constructors

## SecurityProfileValidator\(IOptions\<OidcOptions\>\) Constructor {#Abblix.Oidc.Server.Endpoints.DynamicClientManagement.Validation.SecurityProfileValidator.SecurityProfileValidator(Microsoft.Extensions.Options.IOptions_Abblix.Oidc.Server.Common.Configuration.OidcOptions_)}

Fail\-loud companion to the request\-time profile enforcement: rejects a registration whose declared
response types can never satisfy the security profile the client falls under, so the contradiction
surfaces at registration with a clear `invalid_client_metadata` diagnostic instead of as a
per\-request rejection the client has to reverse\-engineer later\. Whether a client is held to a
profile is a server\-side policy decision: a dynamically registered client cannot declare one, so it
inherits the server\-wide [DefaultSecurityProfile](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Common.Configuration.OidcOptions#Abblix.Oidc.Server.Common.Configuration.OidcOptions.DefaultSecurityProfile 'Abblix\.Oidc\.Server\.Common\.Configuration\.OidcOptions\.DefaultSecurityProfile')\.

```csharp
public SecurityProfileValidator(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.Endpoints.DynamicClientManagement.Validation.SecurityProfileValidator.SecurityProfileValidator(Microsoft.Extensions.Options.IOptions_Abblix.Oidc.Server.Common.Configuration.OidcOptions_).options}

Provides the server\-wide default profile a registered client inherits\.
