SAML Module
The SAML module allows you to implement Single-Sign-On via SAML v2.0 protocol. Using this library, you can configure your org to act as a Service Provider.Import
import { ServiceProvider, IdentityProvider } from 'saml'IdentityProvider
IdentityProvider(options) The configuration for a service that authenticates users in the SAML flow.
IdentityProvider(options)
Creates a new instance of IdentityProvider, required as an argument for ServiceProvider methods.
Arguments
options(Object)sso_login_url(String) The login URL to use during a login request.sso_logout_url(String) The logout URL to use during a logout request.certificates(String[]) An array of PEM formatted certificates.force_authn(Boolean=false) If true, forces re-authentication.sign_get_request(Boolean=false) If true, signs the request.allow_unencrypted_assertion(Boolean=false) If true, allows unencrypted assertions.
ServiceProvider
ServiceProvider(options) ServiceProvider.create_login_request_url(idp, options) ServiceProvider.create_logout_request_url(idp, options) ServiceProvider.create_logout_response_url(idp, options) ServiceProvider.create_metadata() ServiceProvider.post_assert(idp, options) ServiceProvider.redirect_assert(idp, options)
ServiceProvider(options)
A service provider that uses an IdentityProvider for authentication in the SAML flow.
Arguments
options(Object)entity_id(String The unique sp identifier (often the URL of the metadata file).private_key(String) Service provider private key in PEM format.certificate(String) Service provider certificate in PEM format.assert_endpoint(String) The URL of service provider assert endpoint.alt_private_keys(String[]) Additional private keys to use when attempting to decrypt responses (for rollover).alt_certs(String[]) Additional certificates to expose in the SAML metadata (for rollover).force_authn(Boolean=false) If true, forces re-authentication.auth_context(String) The SAML AuthnContextClassRef.nameid_format(String) The Name ID format.sign_get_request(Boolean=false) If true, signs the request.allow_unencrypted_assertion(Boolean=false) If true, allows unencrypted assertions.
Returns
updated(ServiceProvider) true if the value was set, or false if the cache value did not initially equalchk.
ServiceProvider.create_login_request_url(idp, options)
Get a URL to initiate a login.
Arguments
idp(IdentityProvider) An IdentityProvider instance.options(Object)relay_state(String) The SAML relay state.force_authn(Boolean=false) If true, forces re-authentication.auth_context(String) The SAML AuthnContextClassRef.nameid_format(String) The Name ID format.sign_get_request(Boolean=false) If true, signs the request.
Returns
response(Object)urlthe request urlidthe request id
ServiceProvider.create_logout_request_url(idp, options)
Creates a SAML Request URL to initiate a user logout.
Arguments
idp(IdentityProvider) An IdentityProvider instance.options(Object)relay_state(String) The SAML relay state.nameid_format(String) The Name ID format.sign_get_request(Boolean=false) If true, signs the request.session_index(String) The session index to use.allow_unencrypted_assertion(Boolean=false) If true, allows unencrypted assertions.
Returns
url(String) The request url.
ServiceProvider.create_logout_response_url(idp, options)
Creates a SAML Response URL to confirm a successful IdP initiated logout.
Arguments
idp(IdentityProvider) An IdentityProvider instance.options(Object)in_response_to(String) The ID of the request that this is in response to. Should be checked against any sent request IDs.sign_get_request(Boolean=false) If true, signs the request.relay_state(String) The SAML relay state.
Returns
url(String) The request url.
ServiceProvider.create_metadata()
Returns the XML metadata used during the initial SAML configuration.
Returns
url(String)
ServiceProvider.post_assert(idp, options)
Gets a SAML response object if the login attempt is valid, used for post binding.
Arguments
idp(IdentityProvider) An IdentityProvider instance.options(Object)request_body(Object) An object containing the parsed query string parameters. This object should contain the value for either a SAMLResponse or SAMLRequest.allow_unencrypted_assertion(Boolean=false) If true, allows unencrypted assertions.require_session_index(Boolean=false) If false, allow the assertion to be valid without a SessionIndex attribute on the AuthnStatement node.
Returns
response(Object) A SAML response object.response_header(Object)id(String)destination(String)in_response_to(String)
type"authn_response" (String)user(Object)name_id(String)session_index(String)attributes(Object)
ServiceProvider.redirect_assert(idp, options)
Gets a SAML response object if the login attempt is valid, used for redirect binding.
Arguments
idp(IdentityProvider) An IdentityProvider instance.options(Object)request_body(Object) An object containing the parsed query string parameters. This object should contain the value for either a SAMLResponse or SAMLRequest.allow_unencrypted_assertion(Boolean=false) If true, allows unencrypted assertions.require_session_index(Boolean=false) If false, allow the assertion to be valid without a SessionIndex attribute on the AuthnStatement node.
Returns
response(Object) A SAML response object.response_header(Object)id(String)destination(String)in_response_to(String)
type"authn_response" (String)user(Object)name_id(String)session_index(String)attributes(Object)
Last updated
Was this helpful?