Table of Contents

Class SamlProvider

Namespace
ComponentSpace.Saml2
Assembly
ComponentSpace.Saml2.dll

Provides support for web browser single sign-on.

public abstract class SamlProvider : ISamlProvider, IArtifactResolver
Inheritance
SamlProvider
Implements
Derived
Inherited Members

Constructors

SamlProvider(IHttpContextAccessor, ISamlConfigurationNameResolver, ISamlConfigurationResolver, ICertificateManager, ICertificateLoader, IIDCache, ISsoSessionStore, IHttpPostBinding, IHttpRedirectBinding, IHttpArtifactBinding, IArtifactCache, ISoapBinding, IUrlUtility, ISamlSchemaValidator, IXmlSignature, IXmlEncryption, IOptionsMonitor<CookiePolicyOptions>, LicenseManager, ILoggerFactory)

Initializes a new instance of the SamlProvider class.

public SamlProvider(IHttpContextAccessor httpContextAccessor, ISamlConfigurationNameResolver samlConfigurationNameResolver, ISamlConfigurationResolver samlConfigurationResolver, ICertificateManager certificateManager, ICertificateLoader certificateLoader, IIDCache idCache, ISsoSessionStore ssoSessionStore, IHttpPostBinding httpPostBinding, IHttpRedirectBinding httpRedirectBinding, IHttpArtifactBinding httpArtifactBinding, IArtifactCache artifactCache, ISoapBinding soapBinding, IUrlUtility urlUtility, ISamlSchemaValidator samlSchemaValidator, IXmlSignature xmlSignature, IXmlEncryption xmlEncryption, IOptionsMonitor<CookiePolicyOptions> cookiePolicyOptions, LicenseManager licenseManager, ILoggerFactory loggerFactory)

Parameters

httpContextAccessor IHttpContextAccessor

The HTTP context accessor.

samlConfigurationNameResolver ISamlConfigurationNameResolver

The SAML configuration name resolver.

samlConfigurationResolver ISamlConfigurationResolver

The SAML configuration resolver.

certificateManager ICertificateManager

The certificate manager.

certificateLoader ICertificateLoader

The certificate loader.

idCache IIDCache

The ID cache.

ssoSessionStore ISsoSessionStore

The SSO session store.

httpPostBinding IHttpPostBinding

The HTTP Post binding.

httpRedirectBinding IHttpRedirectBinding

The HTTP Redirect binding.

httpArtifactBinding IHttpArtifactBinding

The HTTP Artifact binding.

artifactCache IArtifactCache

The HTTP Artifact cache.

soapBinding ISoapBinding

The SOAP binding.

urlUtility IUrlUtility

The URL utility.

samlSchemaValidator ISamlSchemaValidator

The SAML XML schema validator.

xmlSignature IXmlSignature

The XML signature provider.

xmlEncryption IXmlEncryption

The XML encryption provider.

cookiePolicyOptions IOptionsMonitor<CookiePolicyOptions>

The cookie policy options.

licenseManager LicenseManager

The license manager.

loggerFactory ILoggerFactory

The logger factory.

Methods

ClearSessionAsync(string)

Clears the current SAML session state for all partners or for the specified partner only.

public abstract Task ClearSessionAsync(string partnerName = null)

Parameters

partnerName string

The partner name or null if none.

Returns

Task

A task that represents the operation.

Exceptions

SamlException

Thrown when the SAML session state cannot be cleared.

GetStatusAsync()

Returns the current SSO status.

public abstract Task<ISsoStatus> GetStatusAsync()

Returns

Task<ISsoStatus>

A task that represents the operation and returns the current SSO status.

Exceptions

SamlException

Thrown when the starts cannot be retrieved.

PeekMessageTypeAsync()

Peeks the currently received SAML message type.

public Task<SamlMessageType> PeekMessageTypeAsync()

Returns

Task<SamlMessageType>

The SAML message type.

ResolveArtifactAsync()

Receives an artifact resolve request and sends an artifact response,.

public abstract Task ResolveArtifactAsync()

Returns

Task

A task that represents the operation.

Exceptions

SamlException

Thrown when the artifact resolve request cannot be processed.

SetConfigurationNameAsync(string)

Sets the SAML configuration name for the current SAML SSO session.

For most applications, a single SAML configuration is used and the SAML configuration name is not required. For multi-tenanted applications and other special use cases with multiple SAML configurations, the SAML name specifies the configuration to use.

public Task SetConfigurationNameAsync(string configurationName)

Parameters

configurationName string

The configuration name.

Returns

Task

A task that represents the operation.

Exceptions

SamlException

Thrown when the configuration name cannot be set.