Skip to content

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.

C#
public sealed class IssuedAtWindowStep : Abblix.SecurityEvents.Validation.ISecurityEventTokenValidator

Inheritance 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.

C#
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.

C#
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.