#### [Abblix\.Oidc\.Server](https://www.abblix.com/en/docs/api/abblix-oidc-server 'index')
### [Abblix\.Oidc\.Server\.Features\.RandomGenerators](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Features.RandomGenerators 'Abblix\.Oidc\.Server\.Features\.RandomGenerators')

## IGrantIdGenerator Interface

Produces unique identifiers for refresh\-token grants, used as the `grant_id` claim that binds every
refresh token derived from one authorization grant into a single lineage \(a "token family" in RFC 9700
terms\)\. Rotation and family revocation \(RFC 9700 §4\.14\.2\) rely on this identifier, so implementations must
generate values with sufficient entropy to make collisions and guessing impractical\.

```csharp
public interface IGrantIdGenerator
```

Derived  
↳ [GrantIdGenerator](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Features.RandomGenerators.GrantIdGenerator 'Abblix\.Oidc\.Server\.Features\.RandomGenerators\.GrantIdGenerator')
### Methods

## IGrantIdGenerator\.GenerateGrantId\(\) Method {#Abblix.Oidc.Server.Features.RandomGenerators.IGrantIdGenerator.GenerateGrantId()}

Generates a new unique identifier suitable for the `grant_id` claim of a refresh token\.

```csharp
string GenerateGrantId();
```

#### Returns
[System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String')  
A unique identifier for a refresh\-token grant lineage\.
