Class SamlIdentityProvider
- Namespace
- ComponentSpace.Saml2
- Assembly
- ComponentSpace.Saml2.dll
Provides Identity Provider (IdP) support for web browser single sign-on.
public class SamlIdentityProvider : SamlProvider, ISamlIdentityProvider, ISamlProvider, IArtifactResolver
- Inheritance
-
SamlIdentityProvider
- Implements
- Inherited Members
Constructors
SamlIdentityProvider(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 SamlIdentityProvider class.
public SamlIdentityProvider(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
httpContextAccessorIHttpContextAccessorThe HTTP context accessor.
samlConfigurationNameResolverISamlConfigurationNameResolverThe SAML configuration name resolver.
samlConfigurationResolverISamlConfigurationResolverThe SAML configuration resolver.
certificateManagerICertificateManagerThe certificate manager.
certificateLoaderICertificateLoaderThe certificate loader.
idCacheIIDCacheThe ID cache.
ssoSessionStoreISsoSessionStoreThe SSO session store.
httpPostBindingIHttpPostBindingThe HTTP Post binding.
httpRedirectBindingIHttpRedirectBindingThe HTTP Redirect binding.
httpArtifactBindingIHttpArtifactBindingThe HTTP Artifact binding.
artifactCacheIArtifactCacheThe HTTP Artifact cache.
soapBindingISoapBindingThe SOAP binding.
urlUtilityIUrlUtilityThe URL utility.
samlSchemaValidatorISamlSchemaValidatorThe SAML XML schema validator.
xmlSignatureIXmlSignatureThe XML signature provider.
xmlEncryptionIXmlEncryptionThe XML encryption provider.
cookiePolicyOptionsIOptionsMonitor<CookiePolicyOptions>The cookie policy options.
licenseManagerLicenseManagerThe license manager.
loggerFactoryILoggerFactoryThe logger factory.
Properties
Events
Gets or sets the optional events associated with SAML SSO and SLO.
public ISamlIdentityProviderEvents Events { get; set; }
Property Value
- ISamlIdentityProviderEvents
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
partnerNamestringThe partner name or
nullif 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)
Initiates single logout from the identity provider to the service providers (ie. IdP-initiated SLO).
A logout request is sent to the service providers that are signed in.
public Task InitiateSloAsync(string logoutReason, string relayState)
Parameters
logoutReasonstringThe logout reason or
nullif none.relayStatestringThe relay state or
nullif none.
Returns
- Task
A task that represents the operation.
Exceptions
- SamlException
Thrown when the single logout fails.
InitiateSsoAsync(string, string, IList<SamlAttribute>, string, string, string)
Initiates single sign-on from the identity provider to the service provider (ie. IdP-initiated SSO).
A SAML response containing a SAML assertion is sent to the service provider.
public Task InitiateSsoAsync(string partnerName, string userID, IList<SamlAttribute> attributes, string relayState, string authnContext, string nameIDFormat)
Parameters
partnerNamestringThe partner service provider name or
nullto specify the default.userIDstringThe user ID to include in the SAML assertion or
nullif none.attributesIList<SamlAttribute>The attributes to include in the SAML assertion or
nullif none.relayStatestringThe relay state (eg target URL) or
nullif none.authnContextstringThe authentication context identifying how the user was authenticated or
nullif the configured value is to be used.nameIDFormatstringThe name identifier format or
nullif the configured value is to be used.
Returns
- Task
A task that represents the operation.
Exceptions
- SamlException
Thrown when the single sign-on fails.
- See Also
ReceiveSloAsync()
Receives a single logout request (ie. SP-initiated SLO) or single logout response (ie. IdP-initiated SLO) from a service 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 request from a service provider (ie. SP-initiated SSO).
An authn request is received from the service provider.
public Task<IIdpSsoResult> ReceiveSsoAsync()
Returns
- Task<IIdpSsoResult>
A task that represents the operationand 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 message to a service provider (ie. SP-initiated SLO).
public Task SendSloAsync(string errorMessage, string correlationID)
Parameters
errorMessagestringThe error message or
nullif logout was successful.correlationIDstringThe 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.
SendSsoAsync(Status, string)
Sends a single sign-on error response as part of SP-initiated SSO.
A SAML error response is sent to the service provider.
public Task SendSsoAsync(Status status, string correlationID)
Parameters
statusStatusThe error status.
correlationIDstringThe correlation ID identifying the authentication request to respond to.
Returns
- Task
A task that represents the operation.
Exceptions
- SamlException
Thrown when the single sign-on fails.
SendSsoAsync(string, IList<SamlAttribute>, string, string, string)
Sends a single sign-on response as part of SP-initiated SSO.
A SAML response containing a SAML assertion is sent to the service provider.
public Task SendSsoAsync(string userID, IList<SamlAttribute> attributes, string authnContext, string nameIDFormat, string correlationID)
Parameters
userIDstringThe user ID to include in the SAML assertion or
nullif none.attributesIList<SamlAttribute>The attributes to include in the SAML assertion or
nullif none.authnContextstringThe authentication context identifying how the user was authenticated or
nullif the configured value is to be used.nameIDFormatstringThe name identifier format or
nullif the configured value is to be used.correlationIDstringThe correlation ID identifying the authentication request to respond to.
Returns
- Task
A task that represents the operation.
Exceptions
- SamlException
Thrown when the single sign-on fails.
- See Also