Table of Contents

Class SamlServiceProvider

Namespace
ComponentSpace.Saml2
Assembly
ComponentSpace.Saml2.dll

Provides Service Provider (SP) support for web browser single sign-on.

public class SamlServiceProvider : SamlProvider, ISamlServiceProvider, ISamlProvider, IArtifactResolver
Inheritance
SamlServiceProvider
Implements
Inherited Members

Constructors

SamlServiceProvider(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 SamlServiceProvider class.

public SamlServiceProvider(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.

Properties

Events

Gets or sets the optional events associated with SAML SSO and SLO.

public ISamlServiceProviderEvents Events { get; set; }

Property Value

ISamlServiceProviderEvents

The optional events associated with SAML SSO and SLO.

Methods

ClearSessionAsync(string)

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

public override 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 override 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.

InitiateSloAsync(string, string, string)

Initiates single logout from the service provider to the identity provider (ie. SP-initiated SLO).

An logout request is sent to the identity provider.

public Task InitiateSloAsync(string partnerName, string logoutReason, string relayState)

Parameters

partnerName string

The partner identity provider name.

logoutReason string

The logout reason or null if none.

relayState string

The relay state or null if none.

Returns

Task

A task that represents the operation.

Exceptions

SamlException

Thrown when the single logout fails.

InitiateSsoAsync(string, string, ISsoOptions)

Initiates single sign-on from the service provider to the identity provider (ie. SP-initiated SSO).

An authn request is sent to the identity provider.

public Task InitiateSsoAsync(string partnerName, string relayState, ISsoOptions ssoOptions)

Parameters

partnerName string

The partner identity provider name.

relayState string

The relay state or null if none.

ssoOptions ISsoOptions

The SSO options or null if none.

Returns

Task

A task that represents the operation.

Exceptions

SamlException

Thrown when the single sign-on fails.

ReceiveSloAsync()

Receives a single logout request (ie. IdP-initiated SLO) or single logout response (ie. SP-initiated SLO) from an identity provider.

public Task<ISloResult> ReceiveSloAsync()

Returns

Task<ISloResult>

A task that represents the operation and returns the SLO result.

Exceptions

SamlException

Thrown when the single logout fails.

ReceiveSsoAsync()

Receives a single sign-on response from the identity provider (ie. IdP-initiated or SP-initiated SSO).

public Task<ISpSsoResult> ReceiveSsoAsync()

Returns

Task<ISpSsoResult>

A task that represents the operation and returns the SSO result.

Exceptions

SamlException

Thrown when the single sign-on fails.

ResolveArtifactAsync()

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

public override Task ResolveArtifactAsync()

Returns

Task

A task that represents the operation.

Exceptions

SamlException

Thrown when the artifact resolve request cannot be processed.

SendSloAsync(string, string)

Sends a single logout response to the identity provider (ie IdP-initiated SLO).

public Task SendSloAsync(string errorMessage, string correlationID)

Parameters

errorMessage string

The error message or null if logout was successful.

correlationID string

The correlation ID identifying the logout request to respond to.

Returns

Task

A task that represents the operation.

Exceptions

SamlException

Thrown when the single logout fails.