#### [Abblix\.Oidc\.Server](https://www.abblix.com/en/docs/api/abblix-oidc-server 'index')
### [Abblix\.Oidc\.Server\.Common\.Configuration](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Common.Configuration '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\.

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

Implements [System\.IEquatable&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.iequatable-1 'System\.IEquatable\`1')[RefreshTokenOptions](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Common.Configuration.RefreshTokenOptions 'Abblix\.Oidc\.Server\.Common\.Configuration\.RefreshTokenOptions')[&gt;](https://learn.microsoft.com/en-us/dotnet/api/system.iequatable-1 'System\.IEquatable\`1')
### Constructors

## RefreshTokenOptions\(\) Constructor {#Abblix.Oidc.Server.Common.Configuration.RefreshTokenOptions.RefreshTokenOptions()}

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

```csharp
public RefreshTokenOptions();
```
### Properties

## RefreshTokenOptions\.AbsoluteExpiresIn Property {#Abblix.Oidc.Server.Common.Configuration.RefreshTokenOptions.AbsoluteExpiresIn}

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

```csharp
public System.TimeSpan AbsoluteExpiresIn { get; init; }
```

#### Property Value
[System\.TimeSpan](https://learn.microsoft.com/en-us/dotnet/api/system.timespan 'System\.TimeSpan')

## RefreshTokenOptions\.AllowReuse Property {#Abblix.Oidc.Server.Common.Configuration.RefreshTokenOptions.AllowReuse}

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\)\.

```csharp
public bool AllowReuse { get; init; }
```

#### Property Value
[System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean')

## RefreshTokenOptions\.SlidingExpiresIn Property {#Abblix.Oidc.Server.Common.Configuration.RefreshTokenOptions.SlidingExpiresIn}

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

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

#### Property Value
[System\.Nullable&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.nullable-1 'System\.Nullable\`1')[System\.TimeSpan](https://learn.microsoft.com/en-us/dotnet/api/system.timespan 'System\.TimeSpan')[&gt;](https://learn.microsoft.com/en-us/dotnet/api/system.nullable-1 'System\.Nullable\`1')
