Skip to main content

ILogoutNotifier Interface

Abblix.Oidc.Server

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.

public interface ILogoutNotifier

Derived
BackChannelLogoutNotifier
CompositeLogoutNotifier
FrontChannelLogoutNotifier

Properties

ILogoutNotifier.BackChannelLogoutSessionSupported Property

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

bool BackChannelLogoutSessionSupported { get; }

Property Value

System.Boolean

ILogoutNotifier.BackChannelLogoutSupported Property

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

bool BackChannelLogoutSupported { get; }

Property Value

System.Boolean

ILogoutNotifier.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.

bool FrontChannelLogoutSessionSupported { get; }

Property Value

System.Boolean

ILogoutNotifier.FrontChannelLogoutSupported Property

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

bool FrontChannelLogoutSupported { get; }

Property Value

System.Boolean

Methods

ILogoutNotifier.NotifyClientAsync(ClientInfo, LogoutContext) Method

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

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 needs to be notified. This includes details such as the client ID and the logout endpoint URI.

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
A 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).