Skip to main content

SAML Applications

SAML 2.0 is the OASIS XML-based single sign-on standard: an Identity Provider (IdP) authenticates users and issues a signed assertion (a statement of who signed in), and Service Providers (SPs) trust the IdP and grant access. Messages travel over HTTP using the HTTP-POST or HTTP-Redirect bindings.

LumoAuth supports SAML in two directions — keep them distinct:

  • LumoAuth as IdP (this guide): you register SAML Service Provider applications (such as Salesforce or AWS) under Applications (New application → SAML 2.0). LumoAuth authenticates your users and issues assertions to those SPs.
  • LumoAuth as SP (Enterprise SSO): you add external SAML Identity Providers on the SAML identity providers page (/orgs/{orgId}/portal/saml-idps) so your users can log in through a corporate IdP. See Enterprise SSO.

This guide covers registering SAML Service Providers that use LumoAuth as their identity source.


LumoAuth as SAML Identity Provider​

When LumoAuth acts as the IdP, your applications (Service Providers) redirect users to LumoAuth for authentication, and LumoAuth sends back a SAML assertion confirming the user's identity.

User → Service Provider → LumoAuth (IdP) → Authenticates → SAML Assertion → Service Provider

Registering a SAML Service Provider​

Via Portal​

  1. Go to Applications, click New application and choose SAML 2.0 as the protocol. That form asks only for the application name, Entity ID (issuer) and ACS URL. The full form with every option below is at /orgs/{orgId}/portal/applications/saml/create.
  2. On the New SAML application page, configure:
FieldDescriptionExample
Application nameDisplay nameSalesforce
Entity ID (issuer)SP's unique SAML identifier, from its metadatahttps://saml.salesforce.com
DescriptionNotes about the application (optional)
Assertion Consumer Service (ACS) URLWhere the SAML response is POSTed after authenticationhttps://login.salesforce.com/saml/acs
Single logout (SLO) URLWhere logout requests and responses are sent (optional)https://login.salesforce.com/saml/slo
Default relay stateWhere to land after SSO when the SP sends none (optional)
NameID formatUser identifier formatEmail address, Persistent, Transient, Unspecified
NameID sourceWhich user field fills the NameIDUser email, User ID, Username
Sign SAML responses / Sign SAML assertionsWhat LumoAuth signs
Require signed AuthnRequestsThe SP must sign its authentication requests
Encrypt assertionsEncrypts the assertion; requires the SP certificate
SP certificate (PEM)SP's X.509 certificate for signature verification and encryption (optional)Paste the PEM text
  1. Click Create SAML application.

The New SAML application page with the application name and entity ID filled in

LumoAuth IdP Metadata​

Provide this metadata URL to your Service Provider:

/orgs/{orgId}/saml/idp/metadata

The SAML application's page lists the values to copy on its Identity provider tab (IdP metadata URL, IdP entity ID, SSO URL, SLO URL and the IdP signing certificate), and the IdP metadata button opens the metadata XML. The Service provider and Security tabs show what you entered; click Edit to change it.

The Identity provider tab of a SAML application with the IdP metadata URL, entity ID, SSO URL and SLO URL

The metadata includes:

  • IdP Entity ID
  • SSO endpoint URL
  • SLO endpoint URL
  • Signing certificate

SAML Endpoints​

EndpointURLPurpose
SSO (HTTP-POST)/orgs/{orgId}/saml/idp/ssoReceive authentication requests
SSO (HTTP-Redirect)/orgs/{orgId}/saml/idp/ssoReceive authentication requests
SLO/orgs/{orgId}/saml/idp/sloSingle logout
Metadata/orgs/{orgId}/saml/idp/metadataIdP metadata XML

Attribute Mapping​

Each mapping pairs a SAML attribute name (the Name your SP expects in the assertion) with a LumoAuth user field. The available user fields are:

LumoAuth FieldDescriptionExample Value
emailUser emailalice@acme.com
nameFull display nameAlice Smith
usernameLogin identifieralice@acme.com
idUser ID01890c8e-...
rolesRole assignments (multi-valued)editor, auditor

The mapping keys are the SAML attribute names emitted in the assertion and are stored per Service Provider. New SPs start with default mappings that use the standard SAML attribute URIs, for example:

SAML Attribute Name (key)LumoAuth Field
urn:oid:0.9.2342.19200300.100.1.3email
urn:oid:2.5.4.42name
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddressemail
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/namename

The portal's SAML application form has no mapping editor, so applications created there use these defaults.


SAML Assertion Example​

<saml:Assertion>
<saml:Issuer>https://your-domain.com/orgs/acme-corp</saml:Issuer>
<saml:Subject>
<saml:NameID Format="urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress">
alice@acme.com
</saml:NameID>
</saml:Subject>
<saml:Conditions>
<saml:AudienceRestriction>
<saml:Audience>https://salesforce.com/sp</saml:Audience>
</saml:AudienceRestriction>
</saml:Conditions>
<saml:AttributeStatement>
<saml:Attribute Name="urn:oid:0.9.2342.19200300.100.1.3">
<saml:AttributeValue>alice@acme.com</saml:AttributeValue>
</saml:Attribute>
<saml:Attribute Name="urn:oid:2.5.4.42">
<saml:AttributeValue>Alice Smith</saml:AttributeValue>
</saml:Attribute>
</saml:AttributeStatement>
</saml:Assertion>

Common SP Configurations​

Salesforce​

SettingValue
Entity IDhttps://your-company.my.salesforce.com
ACS URLhttps://your-company.my.salesforce.com?so=ORGID
Name IDemailAddress

AWS​

SettingValue
Entity IDurn:amazon:webservices
ACS URLhttps://signin.aws.amazon.com/saml
Name IDpersistent

Tableau​

SettingValue
Entity IDhttps://sso.online.tableau.com/public/sp/metadata
ACS URLYour Tableau Online SSO URL
Name IDemailAddress