Skip to content

BackChannelLogoutHandler Class

Takes one back-channel logout request from the transport and answers it: reads the logout_token out of the posted form, puts it through the receiver's profile, hands the notification to the application, and shapes the response (OpenID Connect Back-Channel Logout 1.0 Sections 2.5 and 2.8).

C#
public sealed class BackChannelLogoutHandler

Inheritance System.Object → BackChannelLogoutHandler

Remarks

Transport-neutral, like the push intake beside it: it takes the two things any adapter has - the content type and the body - and returns a result the adapter renders. That keeps the specification's request and response rules in one place rather than in each host framework's endpoint.

Constructors

BackChannelLogoutHandler(ILogger<BackChannelLogoutHandler>, ILogoutTokenValidator, ILogoutNotificationSink) Constructor

Takes one back-channel logout request from the transport and answers it: reads the logout_token out of the posted form, puts it through the receiver's profile, hands the notification to the application, and shapes the response (OpenID Connect Back-Channel Logout 1.0 Sections 2.5 and 2.8).

C#
public BackChannelLogoutHandler(Microsoft.Extensions.Logging.ILogger<Abblix.SecurityEvents.BackChannelLogout.BackChannelLogoutHandler> logger, Abblix.SecurityEvents.BackChannelLogout.ILogoutTokenValidator validator, Abblix.SecurityEvents.BackChannelLogout.ILogoutNotificationSink sink);

Parameters

logger Microsoft.Extensions.Logging.ILogger<BackChannelLogoutHandler>

Records every refusal, which no other party keeps.

validator ILogoutTokenValidator

The Logout Token's validation, which is Section 2.6.

sink ILogoutNotificationSink

Where the notification lands, which is Section 2.7.

Remarks

Transport-neutral, like the push intake beside it: it takes the two things any adapter has - the content type and the body - and returns a result the adapter renders. That keeps the specification's request and response rules in one place rather than in each host framework's endpoint.

Methods

BackChannelLogoutHandler.HandleAsync(string, string, CancellationToken) Method

Handles one logout request.

C#
public System.Threading.Tasks.Task<Abblix.SecurityEvents.BackChannelLogout.BackChannelLogoutResult> HandleAsync(string? contentType, string? body, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken));

Parameters

contentType System.String

The request's Content-Type header, as received.

body System.String

The request body: a form-encoded parameter list.

cancellationToken System.Threading.CancellationToken

Cancels validation I/O and processing.

Returns

System.Threading.Tasks.Task<BackChannelLogoutResult>