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

## ILogoutNotifier Interface

Defines an interface for a service responsible for notifying clients about logout events\.
This interface supports both front\-channel and back\-channel logout mechanisms, allowing
implementations to handle client notifications through direct user agent redirection or
server\-to\-server communication, respectively\.

```csharp
public interface ILogoutNotifier
```

Derived  
↳ [BackChannelLogoutNotifier](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Features.LogoutNotification.BackChannelLogoutNotifier 'Abblix\.Oidc\.Server\.Features\.LogoutNotification\.BackChannelLogoutNotifier')  
↳ [CompositeLogoutNotifier](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Features.LogoutNotification.CompositeLogoutNotifier 'Abblix\.Oidc\.Server\.Features\.LogoutNotification\.CompositeLogoutNotifier')  
↳ [FrontChannelLogoutNotifier](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Features.LogoutNotification.FrontChannelLogoutNotifier 'Abblix\.Oidc\.Server\.Features\.LogoutNotification\.FrontChannelLogoutNotifier')
### Properties

## ILogoutNotifier\.BackChannelLogoutSessionSupported Property {#Abblix.Oidc.Server.Features.LogoutNotification.ILogoutNotifier.BackChannelLogoutSessionSupported}

Indicates whether the logout notifier supports back\-channel logout session management,
facilitating the management of user sessions during a back\-channel logout\.

```csharp
bool BackChannelLogoutSessionSupported { get; }
```

#### Property Value
[System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean')

## ILogoutNotifier\.BackChannelLogoutSupported Property {#Abblix.Oidc.Server.Features.LogoutNotification.ILogoutNotifier.BackChannelLogoutSupported}

Indicates whether the logout notifier supports back\-channel logout,
enabling server\-to\-server communication to notify clients of logout events\.

```csharp
bool BackChannelLogoutSupported { get; }
```

#### Property Value
[System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean')

## ILogoutNotifier\.FrontChannelLogoutSessionSupported Property {#Abblix.Oidc.Server.Features.LogoutNotification.ILogoutNotifier.FrontChannelLogoutSessionSupported}

Indicates whether the logout notifier supports front\-channel logout session management,
allowing for more precise control over session termination during a front\-channel logout\.

```csharp
bool FrontChannelLogoutSessionSupported { get; }
```

#### Property Value
[System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean')

## ILogoutNotifier\.FrontChannelLogoutSupported Property {#Abblix.Oidc.Server.Features.LogoutNotification.ILogoutNotifier.FrontChannelLogoutSupported}

Indicates whether the logout notifier supports front\-channel logout,
enabling clients to be notified of logout events via user\-agent redirection\.

```csharp
bool FrontChannelLogoutSupported { get; }
```

#### Property Value
[System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean')
### Methods

## ILogoutNotifier\.NotifyClientAsync\(ClientInfo, LogoutContext\) Method {#Abblix.Oidc.Server.Features.LogoutNotification.ILogoutNotifier.NotifyClientAsync(Abblix.Oidc.Server.Features.ClientInformation.ClientInfo,Abblix.Oidc.Server.Features.LogoutNotification.LogoutContext)}

Asynchronously notifies a client about a logout event, providing the client with
information necessary to process the logout on its end\.

```csharp
System.Threading.Tasks.Task NotifyClientAsync(Abblix.Oidc.Server.Features.ClientInformation.ClientInfo clientInfo, Abblix.Oidc.Server.Features.LogoutNotification.LogoutContext logoutContext);
```
#### Parameters

###### `clientInfo` [ClientInfo](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Features.ClientInformation.ClientInfo 'Abblix\.Oidc\.Server\.Features\.ClientInformation\.ClientInfo') {#Abblix.Oidc.Server.Features.LogoutNotification.ILogoutNotifier.NotifyClientAsync(Abblix.Oidc.Server.Features.ClientInformation.ClientInfo,Abblix.Oidc.Server.Features.LogoutNotification.LogoutContext).clientInfo}

The information about the client that needs to be notified\.
            This includes details such as the client ID and the logout endpoint URI\.

###### `logoutContext` [LogoutContext](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Features.LogoutNotification.LogoutContext 'Abblix\.Oidc\.Server\.Features\.LogoutNotification\.LogoutContext') {#Abblix.Oidc.Server.Features.LogoutNotification.ILogoutNotifier.NotifyClientAsync(Abblix.Oidc.Server.Features.ClientInformation.ClientInfo,Abblix.Oidc.Server.Features.LogoutNotification.LogoutContext).logoutContext}

The context of the logout event, including any relevant
            information such as the session ID and the subject ID of the user\. This context
            is essential for clients to understand the scope and reason for the logout, enabling
            them to perform appropriate actions, such as clearing session data or redirecting the user\.

#### Returns
[System\.Threading\.Tasks\.Task](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task 'System\.Threading\.Tasks\.Task')  
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 of notifying the client\.
            The task completes when the notification has been successfully sent to the client or
            an attempt has been made to notify the client\.

### Remarks
Implementations of this interface should handle any exceptions that occur during
the notification process and ensure that all clients are notified as configured,
regardless of the mechanism used \(front\-channel or back\-channel\)\.
