#### [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')

## IRegistrationAccessTokenValidator Interface

Validates the registration access token presented on calls to the client configuration
endpoint per RFC 7592 §3\. Verifies the bearer token from the `Authorization` header
is bound to the requested `client_id`\.

```csharp
public interface IRegistrationAccessTokenValidator
```

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

## IRegistrationAccessTokenValidator\.ValidateAsync\(AuthenticationHeaderValue, string, string\) Method {#Abblix.Oidc.Server.Endpoints.DynamicClientManagement.Interfaces.IRegistrationAccessTokenValidator.ValidateAsync(System.Net.Http.Headers.AuthenticationHeaderValue,string,string)}

Validates the bearer token, ensuring it is well\-formed, of the expected type, and
authorized to manage the specified client\.

```csharp
System.Threading.Tasks.Task<string?> ValidateAsync(System.Net.Http.Headers.AuthenticationHeaderValue? header, string clientId, string? expectedTokenId);
```
#### Parameters

###### `header` [System\.Net\.Http\.Headers\.AuthenticationHeaderValue](https://learn.microsoft.com/en-us/dotnet/api/system.net.http.headers.authenticationheadervalue 'System\.Net\.Http\.Headers\.AuthenticationHeaderValue') {#Abblix.Oidc.Server.Endpoints.DynamicClientManagement.Interfaces.IRegistrationAccessTokenValidator.ValidateAsync(System.Net.Http.Headers.AuthenticationHeaderValue,string,string).header}

The HTTP `Authorization` header carrying the bearer token\.

###### `clientId` [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String') {#Abblix.Oidc.Server.Endpoints.DynamicClientManagement.Interfaces.IRegistrationAccessTokenValidator.ValidateAsync(System.Net.Http.Headers.AuthenticationHeaderValue,string,string).clientId}

The `client_id` targeted by the management request\.

###### `expectedTokenId` [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String') {#Abblix.Oidc.Server.Endpoints.DynamicClientManagement.Interfaces.IRegistrationAccessTokenValidator.ValidateAsync(System.Net.Http.Headers.AuthenticationHeaderValue,string,string).expectedTokenId}

The jti the token must carry to be accepted — the value stored on the client when its
current registration access token was issued\. When `null` the binding is not enforced
\(statically configured client, or a record predating the stored id\) and only signature,
type and audience are checked\.

#### 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')  
`null` when the token is valid for the client; otherwise a human\-readable description
            of the validation failure\.
