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

## IRegistrationAccessTokenService Interface

Provides functionality to issue registration access tokens for managing registered clients\.
Per RFC 7592 Section 3, the registration access token is used to authenticate subsequent
operations on the client configuration endpoint\.

```csharp
public interface IRegistrationAccessTokenService
```

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

## IRegistrationAccessTokenService\.IssueTokenAsync\(string, DateTimeOffset, Nullable\<TimeSpan\>, string\) Method {#Abblix.Oidc.Server.Endpoints.DynamicClientManagement.Interfaces.IRegistrationAccessTokenService.IssueTokenAsync(string,System.DateTimeOffset,System.Nullable_System.TimeSpan_,string)}

Issues a registration access token for a registered client\.

```csharp
System.Threading.Tasks.Task<string> IssueTokenAsync(string clientId, System.DateTimeOffset issuedAt, System.Nullable<System.TimeSpan> expiresIn, string tokenId);
```
#### Parameters

###### `clientId` [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String') {#Abblix.Oidc.Server.Endpoints.DynamicClientManagement.Interfaces.IRegistrationAccessTokenService.IssueTokenAsync(string,System.DateTimeOffset,System.Nullable_System.TimeSpan_,string).clientId}

The unique identifier of the registered client\.

###### `issuedAt` [System\.DateTimeOffset](https://learn.microsoft.com/en-us/dotnet/api/system.datetimeoffset 'System\.DateTimeOffset') {#Abblix.Oidc.Server.Endpoints.DynamicClientManagement.Interfaces.IRegistrationAccessTokenService.IssueTokenAsync(string,System.DateTimeOffset,System.Nullable_System.TimeSpan_,string).issuedAt}

The timestamp when the token is issued\.

###### `expiresIn` [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') {#Abblix.Oidc.Server.Endpoints.DynamicClientManagement.Interfaces.IRegistrationAccessTokenService.IssueTokenAsync(string,System.DateTimeOffset,System.Nullable_System.TimeSpan_,string).expiresIn}

The optional duration after which the token expires\.

###### `tokenId` [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String') {#Abblix.Oidc.Server.Endpoints.DynamicClientManagement.Interfaces.IRegistrationAccessTokenService.IssueTokenAsync(string,System.DateTimeOffset,System.Nullable_System.TimeSpan_,string).tokenId}

The identifier \(jti\) to embed in the token\. The caller records this value via the
registration\-access\-token store so the validator can bind the token to the client: issuing
with a fresh id invalidates earlier tokens, reusing the stored id keeps them valid
\(idempotent read\)\.

#### Returns
[System\.Threading\.Tasks\.Task&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1 'System\.Threading\.Tasks\.Task\`1')[System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String')[&gt;](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1 'System\.Threading\.Tasks\.Task\`1')  
A task that results in the encoded registration access token\.

### Remarks
The registration access token is a bearer token that authenticates the client when
performing read, update, or delete operations on its configuration\.
