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

## IntrospectionRequestProcessor Class

Implements the logic for processing introspection requests and generating introspection responses\.

```csharp
public class IntrospectionRequestProcessor : Abblix.Oidc.Server.Endpoints.Introspection.Interfaces.IIntrospectionRequestProcessor
```

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

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

### Remarks
This class handles the introspection of tokens to determine if they are active or inactive\.
It follows the OAuth 2\.0 Token Introspection specification \(RFC 7662\)\.
The processor examines the token's status and provides an appropriate response as per the specification\.
### Constructors

## IntrospectionRequestProcessor\(IClientInfoProvider, ISubjectTypeConverter\) Constructor {#Abblix.Oidc.Server.Endpoints.Introspection.IntrospectionRequestProcessor.IntrospectionRequestProcessor(Abblix.Oidc.Server.Features.ClientInformation.IClientInfoProvider,Abblix.Oidc.Server.Features.PairwiseIdentifiers.ISubjectTypeConverter)}

Implements the logic for processing introspection requests and generating introspection responses\.

```csharp
public IntrospectionRequestProcessor(Abblix.Oidc.Server.Features.ClientInformation.IClientInfoProvider clientInfoProvider, Abblix.Oidc.Server.Features.PairwiseIdentifiers.ISubjectTypeConverter subjectTypeConverter);
```
#### Parameters

###### `clientInfoProvider` [IClientInfoProvider](https://www.abblix.com/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Features.ClientInformation.IClientInfoProvider 'Abblix\.Oidc\.Server\.Features\.ClientInformation\.IClientInfoProvider') {#Abblix.Oidc.Server.Endpoints.Introspection.IntrospectionRequestProcessor.IntrospectionRequestProcessor(Abblix.Oidc.Server.Features.ClientInformation.IClientInfoProvider,Abblix.Oidc.Server.Features.PairwiseIdentifiers.ISubjectTypeConverter).clientInfoProvider}

Resolves the client a token was issued to, so its subject can be opened
            before being re\-sealed for a different caller\.

###### `subjectTypeConverter` [ISubjectTypeConverter](https://www.abblix.com/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Features.PairwiseIdentifiers.ISubjectTypeConverter 'Abblix\.Oidc\.Server\.Features\.PairwiseIdentifiers\.ISubjectTypeConverter') {#Abblix.Oidc.Server.Endpoints.Introspection.IntrospectionRequestProcessor.IntrospectionRequestProcessor(Abblix.Oidc.Server.Features.ClientInformation.IClientInfoProvider,Abblix.Oidc.Server.Features.PairwiseIdentifiers.ISubjectTypeConverter).subjectTypeConverter}

Opens and re\-seals the end\-user identifier per client sector\.

### Remarks
This class handles the introspection of tokens to determine if they are active or inactive\.
It follows the OAuth 2\.0 Token Introspection specification \(RFC 7662\)\.
The processor examines the token's status and provides an appropriate response as per the specification\.
### Methods

## IntrospectionRequestProcessor\.ProcessAsync\(ValidIntrospectionRequest\) Method {#Abblix.Oidc.Server.Endpoints.Introspection.IntrospectionRequestProcessor.ProcessAsync(Abblix.Oidc.Server.Endpoints.Introspection.Interfaces.ValidIntrospectionRequest)}

Processes an introspection request and returns the corresponding introspection response\.

```csharp
public System.Threading.Tasks.Task<Abblix.Utils.Result<Abblix.Oidc.Server.Endpoints.Introspection.Interfaces.IntrospectionSuccess,Abblix.Oidc.Server.Common.OidcError>> ProcessAsync(Abblix.Oidc.Server.Endpoints.Introspection.Interfaces.ValidIntrospectionRequest request);
```
#### Parameters

###### `request` [ValidIntrospectionRequest](https://www.abblix.com/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.Introspection.Interfaces.ValidIntrospectionRequest 'Abblix\.Oidc\.Server\.Endpoints\.Introspection\.Interfaces\.ValidIntrospectionRequest') {#Abblix.Oidc.Server.Endpoints.Introspection.IntrospectionRequestProcessor.ProcessAsync(Abblix.Oidc.Server.Endpoints.Introspection.Interfaces.ValidIntrospectionRequest).request}

The valid introspection request to process\. It contains the token to be introspected\.

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

#### 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://www.abblix.com/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_ 'Abblix\.Utils\.Result\`2')[IntrospectionSuccess](https://www.abblix.com/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.Introspection.Interfaces.IntrospectionSuccess 'Abblix\.Oidc\.Server\.Endpoints\.Introspection\.Interfaces\.IntrospectionSuccess')[,](https://www.abblix.com/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_ 'Abblix\.Utils\.Result\`2')[OidcError](https://www.abblix.com/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Common.OidcError 'Abblix\.Oidc\.Server\.Common\.OidcError')[&gt;](https://www.abblix.com/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_ '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') representing the asynchronous operation, with a result of [IntrospectionSuccess](https://www.abblix.com/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/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Common.OidcError 'Abblix\.Oidc\.Server\.Common\.OidcError')\. The response indicates the active status of the token and contains associated claims\.
