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

## IIntrospectionHandler Interface

Defines the contract for handling introspection requests to determine the current state and validity of
OAuth 2\.0 tokens, such as access tokens or refresh tokens\.

```csharp
public interface IIntrospectionHandler
```

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

## IIntrospectionHandler\.HandleAsync\(IntrospectionRequest, ClientRequest\) Method {#Abblix.Oidc.Server.Endpoints.Introspection.Interfaces.IIntrospectionHandler.HandleAsync(Abblix.Oidc.Server.Model.IntrospectionRequest,Abblix.Oidc.Server.Model.ClientRequest)}

Asynchronously processes an introspection request, validating its authorization and the token in question,
and then returning the token's state and other relevant information\.

```csharp
System.Threading.Tasks.Task<Abblix.Utils.Result<Abblix.Oidc.Server.Endpoints.Introspection.Interfaces.IntrospectionSuccess,Abblix.Oidc.Server.Common.OidcError>> HandleAsync(Abblix.Oidc.Server.Model.IntrospectionRequest introspectionRequest, Abblix.Oidc.Server.Model.ClientRequest clientRequest);
```
#### Parameters

###### `introspectionRequest` [IntrospectionRequest](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Model.IntrospectionRequest 'Abblix\.Oidc\.Server\.Model\.IntrospectionRequest') {#Abblix.Oidc.Server.Endpoints.Introspection.Interfaces.IIntrospectionHandler.HandleAsync(Abblix.Oidc.Server.Model.IntrospectionRequest,Abblix.Oidc.Server.Model.ClientRequest).introspectionRequest}

The introspection request containing the token and possibly other parameters
            required for validating the request and introspecting the token\.

###### `clientRequest` [ClientRequest](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Model.ClientRequest 'Abblix\.Oidc\.Server\.Model\.ClientRequest') {#Abblix.Oidc.Server.Endpoints.Introspection.Interfaces.IIntrospectionHandler.HandleAsync(Abblix.Oidc.Server.Model.IntrospectionRequest,Abblix.Oidc.Server.Model.ClientRequest).clientRequest}

Additional information about the client making the request, which may be necessary
            for validating the request in certain contexts\.

#### Returns
[System\.Threading\.Tasks\.Task&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1 'System\.Threading\.Tasks\.Task\`1')[Abblix\.Utils\.Result&lt;](https://learn.microsoft.com/en-us/dotnet/api/abblix.utils.result-2 'Abblix\.Utils\.Result\`2')[IntrospectionSuccess](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.Introspection.Interfaces.IntrospectionSuccess 'Abblix\.Oidc\.Server\.Endpoints\.Introspection\.Interfaces\.IntrospectionSuccess')[,](https://learn.microsoft.com/en-us/dotnet/api/abblix.utils.result-2 'Abblix\.Utils\.Result\`2')[OidcError](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Common.OidcError 'Abblix\.Oidc\.Server\.Common\.OidcError')[&gt;](https://learn.microsoft.com/en-us/dotnet/api/abblix.utils.result-2 'Abblix\.Utils\.Result\`2')[&gt;](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1 'System\.Threading\.Tasks\.Task\`1')  
A [System\.Threading\.Tasks\.Task](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task 'System\.Threading\.Tasks\.Task') that, when completed successfully, results in an [IntrospectionSuccess](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.Introspection.Interfaces.IntrospectionSuccess 'Abblix\.Oidc\.Server\.Endpoints\.Introspection\.Interfaces\.IntrospectionSuccess')
or an [OidcError](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Common.OidcError 'Abblix\.Oidc\.Server\.Common\.OidcError')\. The success response contains information about the token's current state,
such as whether it is active, and potentially other metadata\. In case of an invalid request,
the error response will detail the reasons for rejection\.

### Remarks
Implementations of this interface play a critical role in the security of OAuth 2\.0 and OIDC systems
by enabling resource servers and other relying parties to verify the validity and metadata of tokens\.
This helps prevent unauthorized access and ensures that tokens are used in accordance with their
intended scopes and lifetimes\.
