Table of Contents

Class Saml2SsoInteractionResponseGenerator

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

The default ISaml2SsoInteractionResponseGenerator. Duende 8.0.1's, measured.

public sealed class Saml2SsoInteractionResponseGenerator : ISaml2SsoInteractionResponseGenerator
Inheritance
Saml2SsoInteractionResponseGenerator
Implements
Inherited Members

Remarks

The sign-on endpoint's decision until 0.163.0, moved, in Duende's order: nobody signed in, or a user the profile service no longer calls active (asked as SamlSsoEndpoint), is sent to sign in; so is a signed-in user when the request says ForceAuthn; anyone else needs nothing. Where the user would be sent to sign in and the request says IsPassive, the answer is Duende's Responder/NoPassive error instead, with its message. The two reasons for sending the user to sign in are logged with Duende's messages, at Information.

Ours, as the endpoint was: a signed-in user the profile service calls inactive, on a request that says both ForceAuthn and IsPassive, is told "Cannot passively authenticate user when force auth is required", where Duende's inactive branch comes first and says "Cannot passively authenticate user" — the message only, which never reaches the provider. Duende's "service provider context is missing" branch has no counterpart: a request here always has its provider.

Constructors

Saml2SsoInteractionResponseGenerator(IProfileService, ILogger<Saml2SsoInteractionResponseGenerator>)

Creates the generator.

public Saml2SsoInteractionResponseGenerator(IProfileService profileService, ILogger<Saml2SsoInteractionResponseGenerator> logger)

Parameters

profileService IProfileService

Asked whether the signed-in user is still active.

logger ILogger<Saml2SsoInteractionResponseGenerator>

Where the reasons for sending the user to sign in are logged.

Exceptions

ArgumentNullException

Either argument is null.

Methods

ProcessInteractionAsync(ValidatedAuthnRequest, CancellationToken)

What the sign-on request needs from the user.

public Task<Saml2InteractionResponse> ProcessInteractionAsync(ValidatedAuthnRequest request, CancellationToken ct)

Parameters

request ValidatedAuthnRequest
ct CancellationToken

Returns

Task<Saml2InteractionResponse>

Remarks

Subject is the session's user, or an anonymous principal when nobody is signed in.

Exceptions

ArgumentNullException

request is null.