IssuedAtWindowStep Class
Requires the "iat" claim to be present - it is REQUIRED (RFC 8417 Section 2.2) - and within the receiver's freshness window on either side of its clock.
public sealed class IssuedAtWindowStep : Abblix.SecurityEvents.Validation.ISecurityEventTokenValidatorInheritance System.Object → IssuedAtWindowStep
Implements ISecurityEventTokenValidator
Remarks
A SET records history, so freshness is not about token expiry - a SET deliberately has no "exp" - but about bounding what a replay cache must remember: a token older than the window fails here, so the cache can evict identifiers older than the window instead of keeping all of them forever. The same tolerance forgives clock skew for a token from the near future, the caution RFC 8417 Section 5.3 raises about treating timestamps as exact across distributed systems.
Constructors
IssuedAtWindowStep(TimeProvider) Constructor
Requires the "iat" claim to be present - it is REQUIRED (RFC 8417 Section 2.2) - and within the receiver's freshness window on either side of its clock.
public IssuedAtWindowStep(System.TimeProvider clock);Parameters
clock System.TimeProvider
The receiver's clock; a test hands in a fake to pin the window.
Remarks
A SET records history, so freshness is not about token expiry - a SET deliberately has no "exp" - but about bounding what a replay cache must remember: a token older than the window fails here, so the cache can evict identifiers older than the window instead of keeping all of them forever. The same tolerance forgives clock skew for a token from the near future, the caution RFC 8417 Section 5.3 raises about treating timestamps as exact across distributed systems.
Methods
IssuedAtWindowStep.ValidateAsync(SecurityEventTokenValidationContext, CancellationToken) Method
Checks the token in flight.
public System.Threading.Tasks.ValueTask<Abblix.SecurityEvents.Validation.SecurityEventTokenValidationError?> ValidateAsync(Abblix.SecurityEvents.Validation.SecurityEventTokenValidationContext context, System.Threading.CancellationToken cancellationToken);Parameters
context SecurityEventTokenValidationContext
The state accumulated by earlier steps.
cancellationToken System.Threading.CancellationToken
Cancels I/O the step performs, such as key retrieval.
Implements ValidateAsync(SecurityEventTokenValidationContext, CancellationToken)
Returns
System.Threading.Tasks.ValueTask<SecurityEventTokenValidationError>
Null to pass the token on; an error to stop the pipeline with that verdict.