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

## JwtAlgorithmsProvider Class

Provides JWT algorithm metadata by delegating to JWT creator and validator\.

```csharp
public sealed class JwtAlgorithmsProvider : Abblix.Oidc.Server.Endpoints.Configuration.Interfaces.IJwtAlgorithmsProvider
```

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

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

## JwtAlgorithmsProvider\(IJsonWebTokenCreator, IJsonWebTokenValidator\) Constructor {#Abblix.Oidc.Server.Endpoints.Configuration.JwtAlgorithmsProvider.JwtAlgorithmsProvider(Abblix.Jwt.IJsonWebTokenCreator,Abblix.Jwt.IJsonWebTokenValidator)}

Provides JWT algorithm metadata by delegating to JWT creator and validator\.

```csharp
public JwtAlgorithmsProvider(Abblix.Jwt.IJsonWebTokenCreator jwtCreator, Abblix.Jwt.IJsonWebTokenValidator jwtValidator);
```
#### Parameters

###### `jwtCreator` [IJsonWebTokenCreator](https://www.abblix.com/en/docs/api/abblix-jwt/Abblix.Jwt.IJsonWebTokenCreator 'Abblix\.Jwt\.IJsonWebTokenCreator') {#Abblix.Oidc.Server.Endpoints.Configuration.JwtAlgorithmsProvider.JwtAlgorithmsProvider(Abblix.Jwt.IJsonWebTokenCreator,Abblix.Jwt.IJsonWebTokenValidator).jwtCreator}

###### `jwtValidator` [IJsonWebTokenValidator](https://www.abblix.com/en/docs/api/abblix-jwt/Abblix.Jwt.IJsonWebTokenValidator 'Abblix\.Jwt\.IJsonWebTokenValidator') {#Abblix.Oidc.Server.Endpoints.Configuration.JwtAlgorithmsProvider.JwtAlgorithmsProvider(Abblix.Jwt.IJsonWebTokenCreator,Abblix.Jwt.IJsonWebTokenValidator).jwtValidator}
### Properties

## JwtAlgorithmsProvider\.AuthorizationEncryptionAlgValuesSupported Property {#Abblix.Oidc.Server.Endpoints.Configuration.JwtAlgorithmsProvider.AuthorizationEncryptionAlgValuesSupported}

Lists the JWE key\-management algorithms \(the `alg` values\) the authorization server can use to
encrypt JARM authorization responses, advertised via `authorization_encryption_alg_values_supported`
\(JARM §4\)\.

```csharp
public System.Collections.Generic.IEnumerable<string> AuthorizationEncryptionAlgValuesSupported { get; }
```

Implements [AuthorizationEncryptionAlgValuesSupported](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.Configuration.Interfaces.IJwtAlgorithmsProvider#Abblix.Oidc.Server.Endpoints.Configuration.Interfaces.IJwtAlgorithmsProvider.AuthorizationEncryptionAlgValuesSupported 'Abblix\.Oidc\.Server\.Endpoints\.Configuration\.Interfaces\.IJwtAlgorithmsProvider\.AuthorizationEncryptionAlgValuesSupported')

#### Property Value
[System\.Collections\.Generic\.IEnumerable&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.ienumerable-1 'System\.Collections\.Generic\.IEnumerable\`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.ienumerable-1 'System\.Collections\.Generic\.IEnumerable\`1')

## JwtAlgorithmsProvider\.AuthorizationEncryptionEncValuesSupported Property {#Abblix.Oidc.Server.Endpoints.Configuration.JwtAlgorithmsProvider.AuthorizationEncryptionEncValuesSupported}

Lists the JWE content\-encryption algorithms \(the `enc` values\) the authorization server can use to
encrypt JARM authorization responses, advertised via `authorization_encryption_enc_values_supported`
\(JARM §4\)\.

```csharp
public System.Collections.Generic.IEnumerable<string> AuthorizationEncryptionEncValuesSupported { get; }
```

Implements [AuthorizationEncryptionEncValuesSupported](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.Configuration.Interfaces.IJwtAlgorithmsProvider#Abblix.Oidc.Server.Endpoints.Configuration.Interfaces.IJwtAlgorithmsProvider.AuthorizationEncryptionEncValuesSupported 'Abblix\.Oidc\.Server\.Endpoints\.Configuration\.Interfaces\.IJwtAlgorithmsProvider\.AuthorizationEncryptionEncValuesSupported')

#### Property Value
[System\.Collections\.Generic\.IEnumerable&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.ienumerable-1 'System\.Collections\.Generic\.IEnumerable\`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.ienumerable-1 'System\.Collections\.Generic\.IEnumerable\`1')

## JwtAlgorithmsProvider\.AuthorizationSigningAlgValuesSupported Property {#Abblix.Oidc.Server.Endpoints.Configuration.JwtAlgorithmsProvider.AuthorizationSigningAlgValuesSupported}

Lists the JWS algorithms the authorization server uses to sign JARM authorization responses,
advertised via `authorization_signing_alg_values_supported` \(JARM §4\)\.

```csharp
public System.Collections.Generic.IEnumerable<string> AuthorizationSigningAlgValuesSupported { get; }
```

Implements [AuthorizationSigningAlgValuesSupported](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.Configuration.Interfaces.IJwtAlgorithmsProvider#Abblix.Oidc.Server.Endpoints.Configuration.Interfaces.IJwtAlgorithmsProvider.AuthorizationSigningAlgValuesSupported 'Abblix\.Oidc\.Server\.Endpoints\.Configuration\.Interfaces\.IJwtAlgorithmsProvider\.AuthorizationSigningAlgValuesSupported')

#### Property Value
[System\.Collections\.Generic\.IEnumerable&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.ienumerable-1 'System\.Collections\.Generic\.IEnumerable\`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.ienumerable-1 'System\.Collections\.Generic\.IEnumerable\`1')

## JwtAlgorithmsProvider\.BackChannelAuthenticationRequestSigningAlgValuesSupported Property {#Abblix.Oidc.Server.Endpoints.Configuration.JwtAlgorithmsProvider.BackChannelAuthenticationRequestSigningAlgValuesSupported}

CIBA Core §7\.1\.1 requires the signed backchannel authentication request to use an asymmetric
algorithm, so both "none" and the symmetric HS\* algorithms are excluded here\.

```csharp
public System.Collections.Generic.IEnumerable<string> BackChannelAuthenticationRequestSigningAlgValuesSupported { get; }
```

Implements [BackChannelAuthenticationRequestSigningAlgValuesSupported](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.Configuration.Interfaces.IJwtAlgorithmsProvider#Abblix.Oidc.Server.Endpoints.Configuration.Interfaces.IJwtAlgorithmsProvider.BackChannelAuthenticationRequestSigningAlgValuesSupported 'Abblix\.Oidc\.Server\.Endpoints\.Configuration\.Interfaces\.IJwtAlgorithmsProvider\.BackChannelAuthenticationRequestSigningAlgValuesSupported')

#### Property Value
[System\.Collections\.Generic\.IEnumerable&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.ienumerable-1 'System\.Collections\.Generic\.IEnumerable\`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.ienumerable-1 'System\.Collections\.Generic\.IEnumerable\`1')

## JwtAlgorithmsProvider\.DpopSigningAlgorithmsSupported Property {#Abblix.Oidc.Server.Endpoints.Configuration.JwtAlgorithmsProvider.DpopSigningAlgorithmsSupported}

Lists the JWS signing algorithms the authorization server accepts on inbound DPoP
proofs \(RFC 9449 §5\.1 `dpop_signing_alg_values_supported`\): the intersection
of [SigningAlgorithmsSupported](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.Configuration.Interfaces.IJwtAlgorithmsProvider#Abblix.Oidc.Server.Endpoints.Configuration.Interfaces.IJwtAlgorithmsProvider.SigningAlgorithmsSupported 'Abblix\.Oidc\.Server\.Endpoints\.Configuration\.Interfaces\.IJwtAlgorithmsProvider\.SigningAlgorithmsSupported') with the static DPoP\-compatible
whitelist\. The validator\-side set is the source — the AS verifies proofs the
client signs, it does not issue them\.

```csharp
public System.Collections.Generic.IEnumerable<string> DpopSigningAlgorithmsSupported { get; }
```

Implements [DpopSigningAlgorithmsSupported](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.Configuration.Interfaces.IJwtAlgorithmsProvider#Abblix.Oidc.Server.Endpoints.Configuration.Interfaces.IJwtAlgorithmsProvider.DpopSigningAlgorithmsSupported 'Abblix\.Oidc\.Server\.Endpoints\.Configuration\.Interfaces\.IJwtAlgorithmsProvider\.DpopSigningAlgorithmsSupported')

#### Property Value
[System\.Collections\.Generic\.IEnumerable&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.ienumerable-1 'System\.Collections\.Generic\.IEnumerable\`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.ienumerable-1 'System\.Collections\.Generic\.IEnumerable\`1')

## JwtAlgorithmsProvider\.IntrospectionEncryptionAlgValuesSupported Property {#Abblix.Oidc.Server.Endpoints.Configuration.JwtAlgorithmsProvider.IntrospectionEncryptionAlgValuesSupported}

Lists the JWE key\-management algorithms \(the `alg` values\) the authorization server can use to encrypt
JWT introspection responses, advertised via `introspection_encryption_alg_values_supported`
\(RFC 9701 §7\)\.

```csharp
public System.Collections.Generic.IEnumerable<string> IntrospectionEncryptionAlgValuesSupported { get; }
```

Implements [IntrospectionEncryptionAlgValuesSupported](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.Configuration.Interfaces.IJwtAlgorithmsProvider#Abblix.Oidc.Server.Endpoints.Configuration.Interfaces.IJwtAlgorithmsProvider.IntrospectionEncryptionAlgValuesSupported 'Abblix\.Oidc\.Server\.Endpoints\.Configuration\.Interfaces\.IJwtAlgorithmsProvider\.IntrospectionEncryptionAlgValuesSupported')

#### Property Value
[System\.Collections\.Generic\.IEnumerable&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.ienumerable-1 'System\.Collections\.Generic\.IEnumerable\`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.ienumerable-1 'System\.Collections\.Generic\.IEnumerable\`1')

## JwtAlgorithmsProvider\.IntrospectionEncryptionEncValuesSupported Property {#Abblix.Oidc.Server.Endpoints.Configuration.JwtAlgorithmsProvider.IntrospectionEncryptionEncValuesSupported}

Lists the JWE content\-encryption algorithms \(the `enc` values\) the authorization server can use to
encrypt JWT introspection responses, advertised via `introspection_encryption_enc_values_supported`
\(RFC 9701 §7\)\.

```csharp
public System.Collections.Generic.IEnumerable<string> IntrospectionEncryptionEncValuesSupported { get; }
```

Implements [IntrospectionEncryptionEncValuesSupported](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.Configuration.Interfaces.IJwtAlgorithmsProvider#Abblix.Oidc.Server.Endpoints.Configuration.Interfaces.IJwtAlgorithmsProvider.IntrospectionEncryptionEncValuesSupported 'Abblix\.Oidc\.Server\.Endpoints\.Configuration\.Interfaces\.IJwtAlgorithmsProvider\.IntrospectionEncryptionEncValuesSupported')

#### Property Value
[System\.Collections\.Generic\.IEnumerable&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.ienumerable-1 'System\.Collections\.Generic\.IEnumerable\`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.ienumerable-1 'System\.Collections\.Generic\.IEnumerable\`1')

## JwtAlgorithmsProvider\.IntrospectionSigningAlgValuesSupported Property {#Abblix.Oidc.Server.Endpoints.Configuration.JwtAlgorithmsProvider.IntrospectionSigningAlgValuesSupported}

Lists the JWS algorithms the authorization server uses to sign JWT introspection responses,
advertised via `introspection_signing_alg_values_supported` \(RFC 9701 §7\)\.

```csharp
public System.Collections.Generic.IEnumerable<string> IntrospectionSigningAlgValuesSupported { get; }
```

Implements [IntrospectionSigningAlgValuesSupported](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.Configuration.Interfaces.IJwtAlgorithmsProvider#Abblix.Oidc.Server.Endpoints.Configuration.Interfaces.IJwtAlgorithmsProvider.IntrospectionSigningAlgValuesSupported 'Abblix\.Oidc\.Server\.Endpoints\.Configuration\.Interfaces\.IJwtAlgorithmsProvider\.IntrospectionSigningAlgValuesSupported')

#### Property Value
[System\.Collections\.Generic\.IEnumerable&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.ienumerable-1 'System\.Collections\.Generic\.IEnumerable\`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.ienumerable-1 'System\.Collections\.Generic\.IEnumerable\`1')

## JwtAlgorithmsProvider\.RequestObjectEncryptionAlgValuesSupported Property {#Abblix.Oidc.Server.Endpoints.Configuration.JwtAlgorithmsProvider.RequestObjectEncryptionAlgValuesSupported}

Lists the JWE key\-management algorithms \(the `alg` values\) the authorization server
accepts when a client encrypts a request object to the server \(RFC 9101 §6\.1\),
advertised via `request_object_encryption_alg_values_supported`\.

```csharp
public System.Collections.Generic.IEnumerable<string> RequestObjectEncryptionAlgValuesSupported { get; }
```

Implements [RequestObjectEncryptionAlgValuesSupported](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.Configuration.Interfaces.IJwtAlgorithmsProvider#Abblix.Oidc.Server.Endpoints.Configuration.Interfaces.IJwtAlgorithmsProvider.RequestObjectEncryptionAlgValuesSupported 'Abblix\.Oidc\.Server\.Endpoints\.Configuration\.Interfaces\.IJwtAlgorithmsProvider\.RequestObjectEncryptionAlgValuesSupported')

#### Property Value
[System\.Collections\.Generic\.IEnumerable&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.ienumerable-1 'System\.Collections\.Generic\.IEnumerable\`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.ienumerable-1 'System\.Collections\.Generic\.IEnumerable\`1')

## JwtAlgorithmsProvider\.RequestObjectEncryptionEncValuesSupported Property {#Abblix.Oidc.Server.Endpoints.Configuration.JwtAlgorithmsProvider.RequestObjectEncryptionEncValuesSupported}

Lists the JWE content\-encryption algorithms \(the `enc` values\) the authorization server
accepts when a client encrypts a request object to the server \(RFC 9101 §6\.1\),
advertised via `request_object_encryption_enc_values_supported`\.

```csharp
public System.Collections.Generic.IEnumerable<string> RequestObjectEncryptionEncValuesSupported { get; }
```

Implements [RequestObjectEncryptionEncValuesSupported](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.Configuration.Interfaces.IJwtAlgorithmsProvider#Abblix.Oidc.Server.Endpoints.Configuration.Interfaces.IJwtAlgorithmsProvider.RequestObjectEncryptionEncValuesSupported 'Abblix\.Oidc\.Server\.Endpoints\.Configuration\.Interfaces\.IJwtAlgorithmsProvider\.RequestObjectEncryptionEncValuesSupported')

#### Property Value
[System\.Collections\.Generic\.IEnumerable&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.ienumerable-1 'System\.Collections\.Generic\.IEnumerable\`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.ienumerable-1 'System\.Collections\.Generic\.IEnumerable\`1')

## JwtAlgorithmsProvider\.SignedResponseAlgorithmsSupported Property {#Abblix.Oidc.Server.Endpoints.Configuration.JwtAlgorithmsProvider.SignedResponseAlgorithmsSupported}

Lists the signing algorithms supported for ID tokens and UserInfo responses\.

```csharp
public System.Collections.Generic.IEnumerable<string> SignedResponseAlgorithmsSupported { get; }
```

Implements [SignedResponseAlgorithmsSupported](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.Configuration.Interfaces.IJwtAlgorithmsProvider#Abblix.Oidc.Server.Endpoints.Configuration.Interfaces.IJwtAlgorithmsProvider.SignedResponseAlgorithmsSupported 'Abblix\.Oidc\.Server\.Endpoints\.Configuration\.Interfaces\.IJwtAlgorithmsProvider\.SignedResponseAlgorithmsSupported')

#### Property Value
[System\.Collections\.Generic\.IEnumerable&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.ienumerable-1 'System\.Collections\.Generic\.IEnumerable\`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.ienumerable-1 'System\.Collections\.Generic\.IEnumerable\`1')

## JwtAlgorithmsProvider\.SigningAlgorithmsSupported Property {#Abblix.Oidc.Server.Endpoints.Configuration.JwtAlgorithmsProvider.SigningAlgorithmsSupported}

Lists the signing algorithms supported for validating signed requests and authentication\.

```csharp
public System.Collections.Generic.IEnumerable<string> SigningAlgorithmsSupported { get; }
```

Implements [SigningAlgorithmsSupported](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.Configuration.Interfaces.IJwtAlgorithmsProvider#Abblix.Oidc.Server.Endpoints.Configuration.Interfaces.IJwtAlgorithmsProvider.SigningAlgorithmsSupported 'Abblix\.Oidc\.Server\.Endpoints\.Configuration\.Interfaces\.IJwtAlgorithmsProvider\.SigningAlgorithmsSupported')

#### Property Value
[System\.Collections\.Generic\.IEnumerable&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.ienumerable-1 'System\.Collections\.Generic\.IEnumerable\`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.ienumerable-1 'System\.Collections\.Generic\.IEnumerable\`1')

## JwtAlgorithmsProvider\.TokenEndpointAuthSigningAlgValuesSupported Property {#Abblix.Oidc.Server.Endpoints.Configuration.JwtAlgorithmsProvider.TokenEndpointAuthSigningAlgValuesSupported}

RFC 8414 §2 and OpenID Connect Discovery 1\.0 §3 both state the value "none" MUST NOT appear
in token\_endpoint\_auth\_signing\_alg\_values\_supported — a client authenticates by signing a
JWT assertion, so an unsecured assertion would prove nothing\. HS\* stay because
client\_secret\_jwt legitimately keys on the shared client secret\.

```csharp
public System.Collections.Generic.IEnumerable<string> TokenEndpointAuthSigningAlgValuesSupported { get; }
```

Implements [TokenEndpointAuthSigningAlgValuesSupported](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.Configuration.Interfaces.IJwtAlgorithmsProvider#Abblix.Oidc.Server.Endpoints.Configuration.Interfaces.IJwtAlgorithmsProvider.TokenEndpointAuthSigningAlgValuesSupported 'Abblix\.Oidc\.Server\.Endpoints\.Configuration\.Interfaces\.IJwtAlgorithmsProvider\.TokenEndpointAuthSigningAlgValuesSupported')

#### Property Value
[System\.Collections\.Generic\.IEnumerable&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.ienumerable-1 'System\.Collections\.Generic\.IEnumerable\`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.ienumerable-1 'System\.Collections\.Generic\.IEnumerable\`1')
