Class SecretValidator
- Namespace
- Fdyay.IdentityServer.Validation
- Assembly
- Fdyay.IdentityServer.Core.dll
Supports all classes in the .NET class hierarchy and provides low-level services to derived classes. This is the ultimate base class of all .NET classes; it is the root of the type hierarchy.
public sealed class SecretValidator : ISecretsListValidator
- Inheritance
-
SecretValidator
- Implements
- Inherited Members
Constructors
SecretValidator(TimeProvider, IEnumerable<ISecretValidator>, ILogger<ISecretsListValidator>)
Creates the validator.
public SecretValidator(TimeProvider time, IEnumerable<ISecretValidator> validators, ILogger<ISecretsListValidator> logger)
Parameters
timeTimeProviderThe clock a stored secret's expiration is judged against.
validatorsIEnumerable<ISecretValidator>The registered secret validators, asked in registration order.
loggerILogger<ISecretsListValidator>Where a credential no validator accepted is logged.
Methods
ValidateAsync(IEnumerable<Secret>, ParsedSecret, CancellationToken)
Checks the presented credential against the stored secrets, asking each secret validator in turn.
public Task<SecretValidationResult> ValidateAsync(IEnumerable<Secret> secrets, ParsedSecret parsedSecret, CancellationToken cancellationToken = default)
Parameters
secretsIEnumerable<Secret>The stored secrets of the client or API.
parsedSecretParsedSecretThe credential a secret parser read off the request.
cancellationTokenCancellationTokenCancels the check.
Returns
- Task<SecretValidationResult>
The first successful result, or failure when no validator accepted the credential.
Remarks
Expired secrets are dropped before any validator is asked, so no validator sees one.
Exceptions
- ArgumentNullException
secretsorparsedSecretisnull.