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

## SoftwareStatementOptions Class

Configuration options for software statement validation per RFC 7591 Section 2\.3\.
Software statements are signed JWTs issued by a third\-party authority asserting
metadata values about the client software\.

```csharp
public record SoftwareStatementOptions : System.IEquatable<Abblix.Oidc.Server.Common.Configuration.SoftwareStatementOptions>
```

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

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

## SoftwareStatementOptions\.ApprovedSoftwareIds Property {#Abblix.Oidc.Server.Common.Configuration.SoftwareStatementOptions.ApprovedSoftwareIds}

Optional set of approved software identifiers\. If non\-empty, only software statements
with a software\_id claim matching one of these values will be accepted\.
When empty, all software IDs from trusted issuers are accepted\.

```csharp
public System.Collections.Generic.HashSet<string> ApprovedSoftwareIds { get; set; }
```

#### Property Value
[System\.Collections\.Generic\.HashSet&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.hashset-1 'System\.Collections\.Generic\.HashSet\`1')[System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String')[&gt;](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.hashset-1 'System\.Collections\.Generic\.HashSet\`1')

## SoftwareStatementOptions\.RequireSoftwareStatement Property {#Abblix.Oidc.Server.Common.Configuration.SoftwareStatementOptions.RequireSoftwareStatement}

Whether a software statement is required for client registration\.
When `true`, registration requests without a software\_statement will be rejected\.

```csharp
public bool RequireSoftwareStatement { get; set; }
```

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

## SoftwareStatementOptions\.TrustedIssuers Property {#Abblix.Oidc.Server.Common.Configuration.SoftwareStatementOptions.TrustedIssuers}

The trusted issuers whose software statements are accepted\.
Each issuer provides a JWKS endpoint for signature verification\.

```csharp
public Abblix.Oidc.Server.Common.Configuration.TrustedIssuer[] TrustedIssuers { get; set; }
```

#### Property Value
[TrustedIssuer](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Common.Configuration.TrustedIssuer 'Abblix\.Oidc\.Server\.Common\.Configuration\.TrustedIssuer')[\[\]](https://learn.microsoft.com/en-us/dotnet/api/system.array 'System\.Array')
