Table of Contents

Class SamlProvider

Namespace
Fdyay.IdentityServer.Models
Assembly
Fdyay.IdentityServer.Core.dll

A dynamic SAML 2.0 provider: an identity provider this server signs users in through as a service provider.

public class SamlProvider : IdentityProvider
Inheritance
SamlProvider
Inherited Members

Remarks

Duende 8.0.1's SamlProvider, measured: the same eleven settings under the same property names, so a row written for one reads the same in the other. The flags are kept as Duende keeps them — true and false in lower case, and only the exact true read as set — rather than the way OidcProvider keeps its one, because a stored row outlives the code that wrote it.

Constructors

SamlProvider()

An empty SAML provider, its Type set to ProviderType.

public SamlProvider()

SamlProvider(IdentityProvider)

Reads other, a saml row, as one of these. The copy constructor its kind requires.

[SetsRequiredMembers]
public SamlProvider(IdentityProvider other)

Parameters

other IdentityProvider

Fields

DefaultOutboundSigningAlgorithm

What an unset OutboundSigningAlgorithm reads as: RSA-SHA256, Duende's.

public const string DefaultOutboundSigningAlgorithm = "http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"

Field Value

string

PostBinding

The BindingType that sends the AuthnRequest as a form the browser posts.

public const string PostBinding = "post"

Field Value

string

ProviderType

The Type value this class reads.

public const string ProviderType = "saml"

Field Value

string

RedirectBinding

What an unset BindingType reads as.

public const string RedirectBinding = "redirect"

Field Value

string

Properties

AllowUnsolicitedAuthnResponse

Whether a response nobody asked for — an IdP-initiated sign-on — is accepted. Off unless set.

public bool AllowUnsolicitedAuthnResponse { get; set; }

Property Value

bool

BindingType

redirect, the default, or post: how the AuthnRequest travels.

public string BindingType { get; set; }

Property Value

string

IdpEntityId

The identity provider's entity id: the issuer its responses carry.

public string? IdpEntityId { get; set; }

Property Value

string

OutboundSigningAlgorithm

The signature method this server signs with, when SpSigningCertificateBase64 is set.

public string OutboundSigningAlgorithm { get; set; }

Property Value

string

SigningCertificateBase64

The certificate the identity provider signs with, base64 DER.

public string? SigningCertificateBase64 { get; set; }

Property Value

string

SingleLogoutServiceUrl

Where a LogoutRequest is sent. None means sign-out is not carried to the provider.

public string? SingleLogoutServiceUrl { get; set; }

Property Value

string

SingleSignOnServiceUrl

Where the AuthnRequest is sent.

public string? SingleSignOnServiceUrl { get; set; }

Property Value

string

SpEntityId

The entity id this server presents to the provider. None means this server's issuer.

public string? SpEntityId { get; set; }

Property Value

string

SpSigningCertificateBase64

The certificate this server signs its requests to the provider with, base64 PKCS#12. None sends them unsigned.

public string? SpSigningCertificateBase64 { get; set; }

Property Value

string

SpSigningCertificatePassword

The password SpSigningCertificateBase64 is protected with.

public string? SpSigningCertificatePassword { get; set; }

Property Value

string

WantAssertionsSigned

Whether this server asks for signed assertions. On unless set to false, as in Duende.

public bool WantAssertionsSigned { get; set; }

Property Value

bool