ClientJwksConfigurationExtensions Class
Abblix.Oidc.Server
Abblix.Oidc.Server.Common.Configuration
ClientJwksConfigurationExtensions Class
Configuration-time extensions that populate Jwks from raw configuration sections by binding into JsonWebKeySetSettings (a flat DTO that Microsoft.Extensions.Configuration can handle natively) and mapping to the polymorphic JsonWebKey hierarchy.
public static class ClientJwksConfigurationExtensions
Inheritance System.Object → ClientJwksConfigurationExtensions
Remarks
The same primitive is exposed at two layers so the host can apply the fix as close to the source binding as practical:
settings.Clients.WithJwksFromConfiguration(section)— eager, runs right afterconfiguration.Get<Settings>(), so every later consumer ofsettings.Clientssees populatedJwks.options.AddClientJwksFromConfiguration(section)— convenience inside theAddOidcServicesoptions lambda, equivalent to mutatingoptions.ClientsthroughWithJwksFromConfiguration.
Methods
ClientJwksConfigurationExtensions.AddClientJwksFromConfiguration(this OidcOptions, IConfigurationSection) Method
Convenience wrapper for use inside the AddOidcServices options lambda:
equivalent to options.Clients = options.Clients.WithJwksFromConfiguration(section).
public static void AddClientJwksFromConfiguration(this Abblix.Oidc.Server.Common.Configuration.OidcOptions options, Microsoft.Extensions.Configuration.IConfigurationSection clientsSection);
Parameters
options OidcOptions
clientsSection Microsoft.Extensions.Configuration.IConfigurationSection
ClientJwksConfigurationExtensions.WithJwksFromConfiguration<T>(this IEnumerable<T>, IConfigurationSection) Method
Returns the same client collection with Jwks populated for
each entry whose configuration counterpart includes an inline Jwks sub-section.
Mutates in place when the input is already a T array; otherwise
materialises a fresh array.
public static T[] WithJwksFromConfiguration<T>(this System.Collections.Generic.IEnumerable<T> clients, Microsoft.Extensions.Configuration.IConfigurationSection clientsSection)
where T : Abblix.Oidc.Server.Features.ClientInformation.ClientInfo;
Type parameters
T
A concrete client type — either ClientInfo directly
or a host-supplied derived type (e.g. carrying app-specific metadata). The return type
preserves T so the host can assign the result back to its own
strongly-typed Clients array without casting.
Parameters
clients System.Collections.Generic.IEnumerable<T>
The clients whose Jwks should be populated.
clientsSection Microsoft.Extensions.Configuration.IConfigurationSection
The configuration section that holds the Clients tree —
typically configuration.GetSection("Clients").
Returns
T[]
The same clients (as an array) with any newly populated Jwks.
Exceptions
System.InvalidOperationException
A Jwks sub-section contains a key
with a missing or unsupported kty discriminator.
System.FormatException
A byte-array member of a JWK is not valid
base64url.
Remarks
Per-client self-correcting: an entry whose Jwks is already non-null (because the host populated it programmatically or a future TFM's binder gained native polymorphic support) is skipped.
Configuration entries without a matching ClientId in clients
are silently skipped, so the same appsettings.json can declare clients that only
some deployments load.