Skip to main content

CompositeLogoutNotifier Class

Abblix.Oidc.Server

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.

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

Inheritance System.Object → CompositeLogoutNotifier

Implements 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 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

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

public CompositeLogoutNotifier(Abblix.Oidc.Server.Features.LogoutNotification.ILogoutNotifier[] logoutNotifiers);

Parameters

logoutNotifiers ILogoutNotifier[]

An array of 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 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

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

public bool BackChannelLogoutSessionSupported { get; }

Implements BackChannelLogoutSessionSupported

Property Value

System.Boolean

CompositeLogoutNotifier.BackChannelLogoutSupported Property

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

public bool BackChannelLogoutSupported { get; }

Implements BackChannelLogoutSupported

Property Value

System.Boolean

CompositeLogoutNotifier.FrontChannelLogoutSessionSupported Property

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

public bool FrontChannelLogoutSessionSupported { get; }

Implements FrontChannelLogoutSessionSupported

Property Value

System.Boolean

CompositeLogoutNotifier.FrontChannelLogoutSupported Property

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

public bool FrontChannelLogoutSupported { get; }

Implements FrontChannelLogoutSupported

Property Value

System.Boolean

Methods

CompositeLogoutNotifier.NotifyClientAsync(ClientInfo, LogoutContext) Method

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

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

Parameters

clientInfo ClientInfo

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

logoutContext LogoutContext

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

Implements NotifyClientAsync(ClientInfo, LogoutContext)

Returns

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.