ClientSecretsOptionsValidator Class
Fails loudly at startup when a configured client cannot authenticate with the secret it appears
to carry, instead of answering invalid_client to every request it ever makes.
public class ClientSecretsOptionsValidator : Microsoft.Extensions.Options.IValidateOptions<Abblix.Oidc.Server.Common.Configuration.OidcOptions>Inheritance System.Object → ClientSecretsOptionsValidator
Implements Microsoft.Extensions.Options.IValidateOptions<OidcOptions>
Remarks
A registry kept in configuration makes a mistyped hash easy and its consequences invisible. The .NET configuration binder discards an element whose binding threw, so a hash the file spells wrongly leaves the client with no secret at all rather than with a bad one, and nothing downstream distinguishes that from a client deliberately registered without secrets: the token endpoint simply refuses it, logging at debug level. A hash of the wrong length is the same mistake caught one step later - a digest pasted into the wrong notation decodes without error and compares against nothing.