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

## IEndSessionRequestProcessor Interface

Performs the side\-effects of RP\-initiated logout once a request has been validated:
signs the end user out of the OP session, notifies every client that participated
in the session \(back\-channel and/or front\-channel logout\), and assembles the
post\-logout redirect target\.

```csharp
public interface IEndSessionRequestProcessor
```

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

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

Executes logout for an already\-validated request\.

```csharp
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.Interfaces.IEndSessionRequestProcessor.ProcessAsync(Abblix.Oidc.Server.Endpoints.EndSession.Interfaces.ValidEndSessionRequest).request}

A request that passed all validation steps\.

#### 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')  
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') describing the post\-logout redirect and any
front\-channel URIs to invoke; an [OidcError](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Common.OidcError 'Abblix\.Oidc\.Server\.Common\.OidcError') if processing cannot complete\.
