Skip to main content

RefreshTokenOptions Struct

Abblix.Oidc.Server

Abblix.Oidc.Server.Common.Configuration

RefreshTokenOptions Struct

Lifetime and reuse policy for refresh tokens issued by the token endpoint. Combines an absolute ceiling with an optional sliding window so long-running sessions stay alive only while the client keeps using them.

public record struct RefreshTokenOptions : System.IEquatable<Abblix.Oidc.Server.Common.Configuration.RefreshTokenOptions>

Implements System.IEquatable<RefreshTokenOptions>

Constructors

RefreshTokenOptions() Constructor

Lifetime and reuse policy for refresh tokens issued by the token endpoint. Combines an absolute ceiling with an optional sliding window so long-running sessions stay alive only while the client keeps using them.

public RefreshTokenOptions();

Properties

RefreshTokenOptions.AbsoluteExpiresIn Property

Hard upper bound on a refresh token's lifetime, measured from the moment it was issued. The token is rejected once this period elapses, regardless of how recently it was used.

public System.TimeSpan AbsoluteExpiresIn { get; init; }

Property Value

System.TimeSpan

RefreshTokenOptions.AllowReuse Property

When false (the secure default), each refresh rotates the token: the previous value is marked superseded as soon as a new one is issued, and later reuse of a superseded token revokes the whole token family (RFC 9700 Section 4.14.2). Set to true to opt a client into multi-use refresh tokens that may be redeemed repeatedly until they expire — appropriate only for confidential clients whose client authentication already binds the token to its identity (RFC 6749).

public bool AllowReuse { get; init; }

Property Value

System.Boolean

RefreshTokenOptions.SlidingExpiresIn Property

Optional sliding window: each successful refresh extends the token's expiration by this amount, up to the absolute ceiling. Set to null to disable sliding behavior.

public System.Nullable<System.TimeSpan> SlidingExpiresIn { get; init; }

Property Value

System.Nullable<System.TimeSpan>