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

## EndSessionRequestProcessor Class

Implements the logic for processing end\-session requests\.

```csharp
public class EndSessionRequestProcessor : Abblix.Oidc.Server.Endpoints.EndSession.Interfaces.IEndSessionRequestProcessor
```

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

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

### Remarks
This class is responsible for handling end\-session requests\. It facilitates user logout, client notifications,
and ensures compliance with the relevant OAuth 2\.0 and OpenID Connect standards\.
### Constructors

## EndSessionRequestProcessor\(ILogger\<EndSessionRequestProcessor\>, IAuthSessionService, IIssuerProvider, IClientInfoProvider, ILogoutNotifier\) Constructor {#Abblix.Oidc.Server.Endpoints.EndSession.EndSessionRequestProcessor.EndSessionRequestProcessor(Microsoft.Extensions.Logging.ILogger_Abblix.Oidc.Server.Endpoints.EndSession.EndSessionRequestProcessor_,Abblix.Oidc.Server.Features.UserAuthentication.IAuthSessionService,Abblix.Oidc.Server.Features.Issuer.IIssuerProvider,Abblix.Oidc.Server.Features.ClientInformation.IClientInfoProvider,Abblix.Oidc.Server.Features.LogoutNotification.ILogoutNotifier)}

Implements the logic for processing end\-session requests\.

```csharp
public EndSessionRequestProcessor(Microsoft.Extensions.Logging.ILogger<Abblix.Oidc.Server.Endpoints.EndSession.EndSessionRequestProcessor> logger, Abblix.Oidc.Server.Features.UserAuthentication.IAuthSessionService authSessionService, Abblix.Oidc.Server.Features.Issuer.IIssuerProvider issuerProvider, Abblix.Oidc.Server.Features.ClientInformation.IClientInfoProvider clientInfoProvider, Abblix.Oidc.Server.Features.LogoutNotification.ILogoutNotifier logoutNotifier);
```
#### Parameters

###### `logger` [Microsoft\.Extensions\.Logging\.ILogger&lt;](https://learn.microsoft.com/en-us/dotnet/api/microsoft.extensions.logging.ilogger-1 'Microsoft\.Extensions\.Logging\.ILogger\`1')[EndSessionRequestProcessor](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.EndSession.EndSessionRequestProcessor 'Abblix\.Oidc\.Server\.Endpoints\.EndSession\.EndSessionRequestProcessor')[&gt;](https://learn.microsoft.com/en-us/dotnet/api/microsoft.extensions.logging.ilogger-1 'Microsoft\.Extensions\.Logging\.ILogger\`1') {#Abblix.Oidc.Server.Endpoints.EndSession.EndSessionRequestProcessor.EndSessionRequestProcessor(Microsoft.Extensions.Logging.ILogger_Abblix.Oidc.Server.Endpoints.EndSession.EndSessionRequestProcessor_,Abblix.Oidc.Server.Features.UserAuthentication.IAuthSessionService,Abblix.Oidc.Server.Features.Issuer.IIssuerProvider,Abblix.Oidc.Server.Features.ClientInformation.IClientInfoProvider,Abblix.Oidc.Server.Features.LogoutNotification.ILogoutNotifier).logger}

The logger\.

###### `authSessionService` [IAuthSessionService](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Features.UserAuthentication.IAuthSessionService 'Abblix\.Oidc\.Server\.Features\.UserAuthentication\.IAuthSessionService') {#Abblix.Oidc.Server.Endpoints.EndSession.EndSessionRequestProcessor.EndSessionRequestProcessor(Microsoft.Extensions.Logging.ILogger_Abblix.Oidc.Server.Endpoints.EndSession.EndSessionRequestProcessor_,Abblix.Oidc.Server.Features.UserAuthentication.IAuthSessionService,Abblix.Oidc.Server.Features.Issuer.IIssuerProvider,Abblix.Oidc.Server.Features.ClientInformation.IClientInfoProvider,Abblix.Oidc.Server.Features.LogoutNotification.ILogoutNotifier).authSessionService}

The authentication service\.

###### `issuerProvider` [IIssuerProvider](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Features.Issuer.IIssuerProvider 'Abblix\.Oidc\.Server\.Features\.Issuer\.IIssuerProvider') {#Abblix.Oidc.Server.Endpoints.EndSession.EndSessionRequestProcessor.EndSessionRequestProcessor(Microsoft.Extensions.Logging.ILogger_Abblix.Oidc.Server.Endpoints.EndSession.EndSessionRequestProcessor_,Abblix.Oidc.Server.Features.UserAuthentication.IAuthSessionService,Abblix.Oidc.Server.Features.Issuer.IIssuerProvider,Abblix.Oidc.Server.Features.ClientInformation.IClientInfoProvider,Abblix.Oidc.Server.Features.LogoutNotification.ILogoutNotifier).issuerProvider}

The issuer provider\.

###### `clientInfoProvider` [IClientInfoProvider](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Features.ClientInformation.IClientInfoProvider 'Abblix\.Oidc\.Server\.Features\.ClientInformation\.IClientInfoProvider') {#Abblix.Oidc.Server.Endpoints.EndSession.EndSessionRequestProcessor.EndSessionRequestProcessor(Microsoft.Extensions.Logging.ILogger_Abblix.Oidc.Server.Endpoints.EndSession.EndSessionRequestProcessor_,Abblix.Oidc.Server.Features.UserAuthentication.IAuthSessionService,Abblix.Oidc.Server.Features.Issuer.IIssuerProvider,Abblix.Oidc.Server.Features.ClientInformation.IClientInfoProvider,Abblix.Oidc.Server.Features.LogoutNotification.ILogoutNotifier).clientInfoProvider}

The client info provider\.

###### `logoutNotifier` [ILogoutNotifier](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Features.LogoutNotification.ILogoutNotifier 'Abblix\.Oidc\.Server\.Features\.LogoutNotification\.ILogoutNotifier') {#Abblix.Oidc.Server.Endpoints.EndSession.EndSessionRequestProcessor.EndSessionRequestProcessor(Microsoft.Extensions.Logging.ILogger_Abblix.Oidc.Server.Endpoints.EndSession.EndSessionRequestProcessor_,Abblix.Oidc.Server.Features.UserAuthentication.IAuthSessionService,Abblix.Oidc.Server.Features.Issuer.IIssuerProvider,Abblix.Oidc.Server.Features.ClientInformation.IClientInfoProvider,Abblix.Oidc.Server.Features.LogoutNotification.ILogoutNotifier).logoutNotifier}

The logout notifier\.

### Remarks
This class is responsible for handling end\-session requests\. It facilitates user logout, client notifications,
and ensures compliance with the relevant OAuth 2\.0 and OpenID Connect standards\.
### Methods

## EndSessionRequestProcessor\.ProcessAsync\(ValidEndSessionRequest\) Method {#Abblix.Oidc.Server.Endpoints.EndSession.EndSessionRequestProcessor.ProcessAsync(Abblix.Oidc.Server.Endpoints.EndSession.Interfaces.ValidEndSessionRequest)}

Processes the end\-session request and returns the corresponding response\.

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

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

The valid end\-session request to be processed\.

Implements [ProcessAsync\(ValidEndSessionRequest\)](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.EndSession.Interfaces.IEndSessionRequestProcessor#Abblix.Oidc.Server.Endpoints.EndSession.Interfaces.IEndSessionRequestProcessor.ProcessAsync(Abblix.Oidc.Server.Endpoints.EndSession.Interfaces.ValidEndSessionRequest) 'Abblix\.Oidc\.Server\.Endpoints\.EndSession\.Interfaces\.IEndSessionRequestProcessor\.ProcessAsync\(Abblix\.Oidc\.Server\.Endpoints\.EndSession\.Interfaces\.ValidEndSessionRequest\)')

#### 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')[EndSessionSuccess](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.EndSession.Interfaces.EndSessionSuccess 'Abblix\.Oidc\.Server\.Endpoints\.EndSession\.Interfaces\.EndSessionSuccess')[,](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 task representing the asynchronous operation, which upon completion will yield an
            [EndSessionSuccess](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.EndSession.Interfaces.EndSessionSuccess 'Abblix\.Oidc\.Server\.Endpoints\.EndSession\.Interfaces\.EndSessionSuccess') or an [OidcError](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Common.OidcError 'Abblix\.Oidc\.Server\.Common\.OidcError')\.
