Skip to content

EndSessionRequest Class

The OpenID Connect RP-initiated logout (end-session) request, bound from a GET query or a POST form. The bound properties, BindAsync (which reads query-or-form) and the projection onto the core model are generated from EndSessionRequest by the Minimal API model source generator.

C#
public record EndSessionRequest : System.IEquatable<Abblix.Oidc.Server.MinimalApi.Model.EndSessionRequest>

Inheritance System.Object → EndSessionRequest

Implements System.IEquatable<EndSessionRequest>

Properties

EndSessionRequest.ClientId Property

The client_id of the relying party initiating the logout, allowing the OP to validate PostLogoutRedirectUri against the URIs registered for that client.

C#
public string? ClientId { get; init; }

Property Value

System.String

EndSessionRequest.Confirmed Property

Carries the End-User's answer to the logout confirmation prompt that the OP is required to display per OIDC RP-Initiated Logout 1.0 §2 ("the OP SHOULD ask the End-User whether to log out ... MUST ask ... if an id_token_hint was not provided"). When true, the user has explicitly approved logout in the interactive UI; when null or false, the request is treated as not-yet-confirmed and the OP renders the confirmation screen. Encoded via the Confirmed form field rather than a wire parameter defined by the specification.

C#
public System.Nullable<bool> Confirmed { get; init; }

Property Value

System.Nullable<System.Boolean>

EndSessionRequest.IdTokenHint Property

The id_token_hint: a previously issued ID Token whose subject identifies the end-user whose session should be terminated. Recommended by RP-Initiated Logout to authenticate the logout request and to scope which session is logged out.

C#
public string? IdTokenHint { get; init; }

Property Value

System.String

EndSessionRequest.LogoutHint Property

The logout_hint: an opaque hint about the end-user's login identifier (such as username or email) the OpenID Provider may use to identify the session to terminate when an ID Token hint is unavailable.

C#
public string? LogoutHint { get; init; }

Property Value

System.String

EndSessionRequest.PostLogoutRedirectUri Property

The post_logout_redirect_uri: an absolute URI, pre-registered with the OP, to which the user agent is redirected once logout completes.

C#
public System.Uri? PostLogoutRedirectUri { get; init; }

Property Value

System.Uri

EndSessionRequest.State Property

The opaque state value returned unchanged when the user agent is sent back to PostLogoutRedirectUri, used by the relying party to correlate request and callback.

C#
public string? State { get; init; }

Property Value

System.String

EndSessionRequest.UiLocales Property

The ui_locales preference list of BCP 47 language tags hinting how the logout confirmation page should be localized.

C#
public System.Collections.Generic.IEnumerable<System.Globalization.CultureInfo>? UiLocales { get; init; }

Property Value

System.Collections.Generic.IEnumerable<System.Globalization.CultureInfo>

Methods

EndSessionRequest.BindAsync(HttpContext) Method

Binds the model from the request's form, query, headers and TLS connection.

C#
public static System.Threading.Tasks.ValueTask<Abblix.Oidc.Server.MinimalApi.Model.EndSessionRequest?> BindAsync(Microsoft.AspNetCore.Http.HttpContext context);

Parameters

context Microsoft.AspNetCore.Http.HttpContext

Returns

System.Threading.Tasks.ValueTask<EndSessionRequest>

Operators

EndSessionRequest.implicit operator EndSessionRequest(EndSessionRequest) Operator

Projects the transport-bound model onto its core counterpart.

C#
public static Abblix.Oidc.Server.Model.EndSessionRequest implicit operator Abblix.Oidc.Server.Model.EndSessionRequest(Abblix.Oidc.Server.MinimalApi.Model.EndSessionRequest request);

Parameters

request EndSessionRequest

Returns

EndSessionRequest