#### [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')

## CompositeLogoutNotifier Class

Provides a mechanism to aggregate and execute multiple logout notification strategies for an OpenID Connect or OAuth 2\.0 system\.

```csharp
public class CompositeLogoutNotifier : Abblix.Oidc.Server.Features.LogoutNotification.ILogoutNotifier
```

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

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

### Remarks
This class allows the system to support various logout mechanisms simultaneously, such as front\-channel and back\-channel logout,
by combining multiple [ILogoutNotifier](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Features.LogoutNotification.ILogoutNotifier 'Abblix\.Oidc\.Server\.Features\.LogoutNotification\.ILogoutNotifier') implementations\. It ensures that all configured logout notifiers are invoked
to notify clients about the logout event, catering to different client capabilities and configurations\.
### Constructors

## CompositeLogoutNotifier\(ILogoutNotifier\[\]\) Constructor {#Abblix.Oidc.Server.Features.LogoutNotification.CompositeLogoutNotifier.CompositeLogoutNotifier(Abblix.Oidc.Server.Features.LogoutNotification.ILogoutNotifier[])}

Provides a mechanism to aggregate and execute multiple logout notification strategies for an OpenID Connect or OAuth 2\.0 system\.

```csharp
public CompositeLogoutNotifier(Abblix.Oidc.Server.Features.LogoutNotification.ILogoutNotifier[] logoutNotifiers);
```
#### Parameters

###### `logoutNotifiers` [ILogoutNotifier](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Features.LogoutNotification.ILogoutNotifier 'Abblix\.Oidc\.Server\.Features\.LogoutNotification\.ILogoutNotifier')[\[\]](https://learn.microsoft.com/en-us/dotnet/api/system.array 'System\.Array') {#Abblix.Oidc.Server.Features.LogoutNotification.CompositeLogoutNotifier.CompositeLogoutNotifier(Abblix.Oidc.Server.Features.LogoutNotification.ILogoutNotifier[]).logoutNotifiers}

An array of [ILogoutNotifier](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Features.LogoutNotification.ILogoutNotifier 'Abblix\.Oidc\.Server\.Features\.LogoutNotification\.ILogoutNotifier') implementations for handling logout notifications\.

### Remarks
This class allows the system to support various logout mechanisms simultaneously, such as front\-channel and back\-channel logout,
by combining multiple [ILogoutNotifier](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Features.LogoutNotification.ILogoutNotifier 'Abblix\.Oidc\.Server\.Features\.LogoutNotification\.ILogoutNotifier') implementations\. It ensures that all configured logout notifiers are invoked
to notify clients about the logout event, catering to different client capabilities and configurations\.
### Properties

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

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

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

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

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

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

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

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

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

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

## CompositeLogoutNotifier\.FrontChannelLogoutSessionSupported Property {#Abblix.Oidc.Server.Features.LogoutNotification.CompositeLogoutNotifier.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
public bool FrontChannelLogoutSessionSupported { get; }
```

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

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

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

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

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

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

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

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

Asynchronously notifies all configured clients about a logout event by invoking each registered logout notifier\.

```csharp
public 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.CompositeLogoutNotifier.NotifyClientAsync(Abblix.Oidc.Server.Features.ClientInformation.ClientInfo,Abblix.Oidc.Server.Features.LogoutNotification.LogoutContext).clientInfo}

The information about the client that is being notified of the logout event\.

###### `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.CompositeLogoutNotifier.NotifyClientAsync(Abblix.Oidc.Server.Features.ClientInformation.ClientInfo,Abblix.Oidc.Server.Features.LogoutNotification.LogoutContext).logoutContext}

Contextual information related to the logout event, including the user and session identifiers\.

Implements [NotifyClientAsync\(ClientInfo, LogoutContext\)](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Features.LogoutNotification.ILogoutNotifier#Abblix.Oidc.Server.Features.LogoutNotification.ILogoutNotifier.NotifyClientAsync(Abblix.Oidc.Server.Features.ClientInformation.ClientInfo,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\)')

#### Returns
[System\.Threading\.Tasks\.Task](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task 'System\.Threading\.Tasks\.Task')  
A task that completes when all clients are notified\.

### Remarks
This method ensures that each logout notifier is called, regardless of the individual notifier's outcome\.
It allows for a unified approach to logout notifications, accommodating various client requirements and logout mechanisms\.
