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

## IntrospectionHandler Class

Manages the processing of token introspection requests according to OAuth 2\.0 specifications, facilitating
the validation and introspection of tokens to determine their current state and metadata\.

```csharp
public class IntrospectionHandler : Abblix.Oidc.Server.Endpoints.Introspection.Interfaces.IIntrospectionHandler
```

Inheritance [System\.Object](https://learn.microsoft.com/en-us/dotnet/api/system.object 'System\.Object') → IntrospectionHandler

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

## IntrospectionHandler\(IIntrospectionRequestValidator, IIntrospectionRequestProcessor\) Constructor {#Abblix.Oidc.Server.Endpoints.Introspection.IntrospectionHandler.IntrospectionHandler(Abblix.Oidc.Server.Endpoints.Introspection.Interfaces.IIntrospectionRequestValidator,Abblix.Oidc.Server.Endpoints.Introspection.Interfaces.IIntrospectionRequestProcessor)}

Manages the processing of token introspection requests according to OAuth 2\.0 specifications, facilitating
the validation and introspection of tokens to determine their current state and metadata\.

```csharp
public IntrospectionHandler(Abblix.Oidc.Server.Endpoints.Introspection.Interfaces.IIntrospectionRequestValidator validator, Abblix.Oidc.Server.Endpoints.Introspection.Interfaces.IIntrospectionRequestProcessor processor);
```
#### Parameters

###### `validator` [IIntrospectionRequestValidator](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.Introspection.Interfaces.IIntrospectionRequestValidator 'Abblix\.Oidc\.Server\.Endpoints\.Introspection\.Interfaces\.IIntrospectionRequestValidator') {#Abblix.Oidc.Server.Endpoints.Introspection.IntrospectionHandler.IntrospectionHandler(Abblix.Oidc.Server.Endpoints.Introspection.Interfaces.IIntrospectionRequestValidator,Abblix.Oidc.Server.Endpoints.Introspection.Interfaces.IIntrospectionRequestProcessor).validator}

An implementation of [IIntrospectionRequestValidator](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.Introspection.Interfaces.IIntrospectionRequestValidator 'Abblix\.Oidc\.Server\.Endpoints\.Introspection\.Interfaces\.IIntrospectionRequestValidator') tasked with
            validating introspection requests against OAuth 2\.0 standards\.

###### `processor` [IIntrospectionRequestProcessor](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.Introspection.Interfaces.IIntrospectionRequestProcessor 'Abblix\.Oidc\.Server\.Endpoints\.Introspection\.Interfaces\.IIntrospectionRequestProcessor') {#Abblix.Oidc.Server.Endpoints.Introspection.IntrospectionHandler.IntrospectionHandler(Abblix.Oidc.Server.Endpoints.Introspection.Interfaces.IIntrospectionRequestValidator,Abblix.Oidc.Server.Endpoints.Introspection.Interfaces.IIntrospectionRequestProcessor).processor}

An implementation of [IIntrospectionRequestProcessor](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.Introspection.Interfaces.IIntrospectionRequestProcessor 'Abblix\.Oidc\.Server\.Endpoints\.Introspection\.Interfaces\.IIntrospectionRequestProcessor') responsible
            for processing validated introspection requests and retrieving token information\.
### Methods

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

Asynchronously handles an introspection request by validating the request and, if valid, processing it to
return the state and metadata of the specified token\.

```csharp
public 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.IntrospectionHandler.HandleAsync(Abblix.Oidc.Server.Model.IntrospectionRequest,Abblix.Oidc.Server.Model.ClientRequest).introspectionRequest}

The introspection request containing the token to be introspected and
            other relevant parameters\.

###### `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.IntrospectionHandler.HandleAsync(Abblix.Oidc.Server.Model.IntrospectionRequest,Abblix.Oidc.Server.Model.ClientRequest).clientRequest}

Supplementary information about the client making the request,
            useful for contextual validation\.

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

#### 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 resolves to 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'), which includes the token's
active status and potentially other metadata, or an [OidcError](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Common.OidcError 'Abblix\.Oidc\.Server\.Common\.OidcError') if the request is invalid\.

### Remarks
Implementations of this method are crucial for maintaining the integrity and security of token\-based
authentication systems by allowing resource servers and other entities to verify the validity
and attributes of tokens\.
