Table of Contents

Class ValidatedLogoutRequest

Namespace
Fdyay.IdentityServer.Saml.Idp
Assembly
Fdyay.IdentityServer.Saml.dll

A LogoutRequest being validated at the single logout endpoint. Duende 8.0.1's ValidatedLogoutRequest.

public sealed class ValidatedLogoutRequest
Inheritance
ValidatedLogoutRequest
Inherited Members

Remarks

Ours: what the default steps read — the message, the document its signature is checked over, the detached signature it arrived with, the provider, the trust and, since 0.159.0, the signed-in user; since 0.163.0 also Duende's RelayState and Saml2IdpEntityId (as IssuerName), which ISaml2SloResponseGenerator answers with. Duende's Binding and SessionId are not carried: no step here reads them, and a step of the host's that wants the session reads it from IUserSession, as Duende's own validator reads the session list.

Properties

Document

The document the request was read from, as received: what an enveloped signature is checked over.

public required XmlDocument Document { get; init; }

Property Value

XmlDocument

HasTrustedSignature

Whether the request's signature verifies against one of ServiceProvider's signing certificates. Duende's LogoutRequest.HasTrustedSignature.

public bool HasTrustedSignature { get; }

Property Value

bool

Remarks

Ours: computed, never set — from the document as received, the detached signature and the provider, and again when the provider changes. Duende's is the TrustLevel its reader set, a settable property; here no step override, validator of the host's or error inspector can declare a request trusted that is not, and only a trusted request ends a session without the user confirming it.

IssuerName

The entity id this server answers as: EntityId, else the issuer name. Duende's Saml2IdpEntityId, named as IssuerName is. New in 0.163.0.

public string? IssuerName { get; init; }

Property Value

string

LogoutRequest

The LogoutRequest as read. Duende's LogoutRequest.

public required SamlLogoutRequest LogoutRequest { get; init; }

Property Value

SamlLogoutRequest

RedirectSignature

The detached signature it arrived with under the HTTP-Redirect binding; null for a signature in the message.

public SamlRedirectSignature? RedirectSignature { get; init; }

Property Value

SamlRedirectSignature

RelayState

The RelayState the request arrived with, which the LogoutResponse carries back. Duende's. New in 0.163.0.

public string? RelayState { get; init; }

Property Value

string

ServiceProvider

The service provider the request is from, once ValidateSpAsync has found it. Duende's Saml2Sp.

public SamlServiceProvider? ServiceProvider { get; set; }

Property Value

SamlServiceProvider

Subject

The user signed in to this browser's session, as the single logout endpoint read it; null when nobody is. Duende's, which its endpoint reads from IUserSession.GetUserAsync. New in 0.159.0.

public ClaimsPrincipal? Subject { get; init; }

Property Value

ClaimsPrincipal

Remarks

Read by ValidateSessionAsync: a request is matched to a session only for a user signed in. It decides nothing about trust — a request that is not trusted is read no further, whoever is signed in.