Table of Contents

Class SamlAssertion

Namespace
Fdyay.IdentityServer.Saml.Messages
Assembly
Fdyay.IdentityServer.Saml.dll

A SAML assertion.

public sealed class SamlAssertion
Inheritance
SamlAssertion
Inherited Members

Properties

Attributes

The attributes of the assertion's AttributeStatement (SAML 2.0 core §2.7.3). Empty writes no statement.

public IReadOnlyList<SamlAttribute> Attributes { get; init; }

Property Value

IReadOnlyList<SamlAttribute>

AuthnContextClassRef

The AuthnContextClassRef written in the assertion's AuthnStatement. Defaults to PasswordProtectedTransport.

public string AuthnContextClassRef { get; init; }

Property Value

string

Remarks

Read from an incoming assertion since 0.175.0 (SAML 2.0 Core §2.7.2.2): the class reference its AuthnContext states, trimmed; empty when it states none — no AuthnStatement, or a context given only by declaration reference. Until then an assertion parsed by SamlMessageReader always carried the default here.

AuthnInstant

The AuthnStatement/@AuthnInstant: when the user authenticated. Written as IssueInstant when null; null on read when the assertion has no AuthnStatement.

public DateTimeOffset? AuthnInstant { get; init; }

Property Value

DateTimeOffset?

Conditions

The assertion's Conditions, or null when it has none; null writes none.

public SamlConditions? Conditions { get; init; }

Property Value

SamlConditions

Id

The assertion's ID attribute, unique per assertion (SAML 2.0 core §2.3.3).

public required string Id { get; init; }

Property Value

string

InResponseTo

The SubjectConfirmationData/@InResponseTo, binding the assertion to our request.

public string? InResponseTo { get; init; }

Property Value

string

IssueInstant

When the assertion was issued.

public required DateTimeOffset IssueInstant { get; init; }

Property Value

DateTimeOffset

Issuer

The entity id of the identity provider that issued the assertion; empty when an incoming assertion has no Issuer.

public required string Issuer { get; init; }

Property Value

string

Recipient

The SubjectConfirmationData/@Recipient.

public string? Recipient { get; init; }

Property Value

string

SessionIndex

The AuthnStatement/@SessionIndex, naming the identity provider's session for later single logout; null for none.

public string? SessionIndex { get; init; }

Property Value

string

Subject

The Subject/NameID the assertion is about.

public required SamlNameId Subject { get; init; }

Property Value

SamlNameId

SubjectConfirmationMethod

The SubjectConfirmation/@Method the confirmation data above was read from; null when the subject has none.

public string? SubjectConfirmationMethod { get; init; }

Property Value

string

Remarks

Read since 0.178.0, the bearer confirmation preferred when there are several. Not written: an assertion this server issues is always confirmed by Bearer.

SubjectNotOnOrAfter

The SubjectConfirmationData/@NotOnOrAfter.

public DateTimeOffset? SubjectNotOnOrAfter { get; init; }

Property Value

DateTimeOffset?