ProductsDownloadPricingHelpBlogContact
Get Started
Log In
HomeProductsDownloadPricingHelpBlogContactTalk to SalesGet StartedLog In

Auth0 SAML Configuration

This article contains Auth0-specific help for configuring Login with SSO via SAML 2.0. For help configuring Login with SSO for another IdP, refer to SAML 2.0 Configuration.

Configuration involves working simultaneously within the Bitwarden Web Vault and the Auth0 Portal. As you proceed, we recommend having both readily available and completing steps in the order they're documented.

tip

Already an SSO expert? Skip the instructions in this article and download screenshots of sample configurations to compare against your own.

Download Sample

Open SSO in the Web Vault

If you're coming straight from SAML 2.0 Configuration, you should already have an Organization ID created. If you don't refer to that article to create an Organization ID for SSO.

Navigate to your Organization's ManageSingle Sign-On screen:

SAML 2.0 Configuration
SAML 2.0 Configuration

You don't need to edit anything on this screen yet, but keep it open for easy reference.

tip

If you're self-hosting Bitwarden, you can use alternative Member Decryption Options. This feature is disabled by default, so continue with Master Password decryption for now and learn how to get started using Key Connector once your configuration is complete and successfully working.

Create an Auth0 Application

In the Auth0 Portal, use the Applications menu to create a Regular Web Application:

Auth0 Create Application
Auth0 Create Application

Click the Settings tab and configure the following information, some of which you'll need to retrieve from the Bitwarden Single Sign-On screen:

Auth0 Settings
Auth0 Settings
Auth0 Setting Description
Name Give the application a Bitwarden-specific name.
Domain Take note of this value. You'll need it during a later step.
Application Type Select Regular Web Application.
Token Endpoint Authentication Method Select Post (HTTP Post), which will map to a Binding Type attribute you will configure later.
Application Login URI Set this field to the pre-generated SP Entity ID retrieved from the Bitwarden SSO Configuration screen.

For Cloud-hosted customers, this is always https://sso.bitwarden.com/saml2. For self-hosted instances, this is determined by your configured server URL, for example https://your.domain.com/sso/saml2.
Allowed Callback URLS Set this field to the pre-generated Assertion Consumer Service (ACS) URL retrieved from the Bitwarden SSO Configuration screen.

For Cloud-hosted customers, this is always https://sso.bitwarden.com/saml2/your-org-id/Acs. For self-hosted instances, this is determined by your configured server URL, for example https://your.domain.com/sso/saml2/your-org-id/Acs.

Grant Types

In the Advanced SettingsGrant Types section, ensure that the following Grant Types are selected (they may be pre-selected):

Application Grant Types
Application Grant Types

Certificates

In the Advanced SettingsCertificates section, copy or download up your Signing Certificate. You won't need to do anything with it just yet, but you'll need to reference it later.

Auth0 Certificate
Auth0 Certificate

Endpoints

You don't need to edit anything in the Advanced SettingsEndpoints section, but you'll need the SAML Endpoints to reference later.

tip

In smaller windows, the Endpoints tab can disappear behind the edge of the browser. If you're having trouble finding it, click the Certificates tab and hit the Right Arrow key ().

Auth0 Endpoints
Auth0 Endpoints

Configure Auth0 Rules

Create rules to customize the SAML response behavior of your application. While Auth0 provides a number of options, this section will focus on only those that map to specifically to Bitwarden options. To create a Custom SAML Configuration ruleset, use the Auth PipelineRules menu to Create Rules:

Auth0 Rules
Auth0 Rules

You may configure any of the following:

Key Description
signatureAlgorithm Algorithm Auth0 will use to sign the SAML assertion or response. By default, rsa-sha1, however you can set this value to rsa-sha256.

If you change this value, you must:
-Set digestAlgorithm to sha256.
-Set (in Bitwarden) the Minimum Incoming Signing Algorithm to rsa-sha256.
digestAlgorithm Algorithm used to calculate digest of SAML assertion or response. By default, sha-1. If you change signatureAlgorithm, you should also set this value to sha256.
signResponse By default, Auth0 will sign only the SAML assertion. Set this to true to sign the SAML response instead of the assertion.
nameIdentifierFormat By default, urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified. You can set this value to any SAML NameID format. If you do, change the SP Name ID Format field to the corresponding option (see here).

Implement these rules using a Script like the one below. For help, refer to Auth0's Documentation.

function (user, context, callback) {
    context.samlConfiguration.signatureAlgorithm = "rsa-sha256";
    context.samlConfiguration.digestAlgorithm = "sha256";
    context.samlConfiguration.signResponse = "true";
    context.samlConfiguration.nameIdentifierFormat = "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress"
    context.samlConfiguration.binding = "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect";
    callback(null, user, context);
}

Back to the Web Vault

At this point, you've configured everything you need within the context of the Auth0 Portal. Jump back over to the Bitwarden Web Vault to complete configuration.

The Single Sign-On screen separates configuration into two sections:

  • SAML Service Provider Configuration will determine the format of SAML requests.

  • SAML Identity Provider Configuration will determine the format to expect for SAML responses.

Service Provider Configuration

Unless you've configured custom rules, your Service Provider Configuration will already be complete. If you configured custom rules or want to make further changes to your implementation, edit the relevant fields:

Field Description
Name ID Format NameID Format to specify in the SAML request (NameIDPolicy). To omit, set to Not Configured.
Outbound Signing Algorithm Algorithm used to sign SAML requests, by default rsa-sha256.
Signing Behavior Whether/when Bitwarden SAML requests will be signed. By default, Auth0 will not require requests to be signed.
Minimum Incoming Signing Algorithm The minimum signing algorithm Bitwarden will accept in SAML responses. By default, Auth0 will sign with rsa-sha1, so choose that option from the dropdown unless you've configured a custom signing rule.
Want Assertions Signed Whether Bitwarden wants SAML assertions signed. By default, Auth0 will sign SAML assertions, so check this box unless you've configured a custom signing rule.
Validate Certificates Check this box when using trusted and valid certificates from your IdP through a trusted CA. Self-signed certificates may fail unless proper trust chains are configured within the Bitwarden Login with SSO docker image.

When you're done with the Service Provider Configuration section, Save your work.

Identity Provider Configuration

Identity Provider Configuration will often require you to refer back to the Auth0 Portal to retrieve application values:

Field Description
Entity ID Enter the Domain value of your Auth0 application (see here), prefixed by urn:, for example urn:bw-help.us.auth0.com.
Binding Type Select HTTP POST to match the Token Endpoint Authentication Method value specified in your Auth0 application.
Single Sign On Service URL Enter the SAML Protocol URL (see Endpoints) of your Auth0 application. For example, https://bw-help.us.auth0.com/samlp/HcpxD63h7Qzl420u8qachPWoZEG0Hho2.
Single Log Out Service URL Login with SSO currently does not support SLO. This option is planned for future development, however you may pre-configure it if you wish.
X509 Public Certificate Paste the retrieved Signing Certificate, removing -----BEGIN CERTIFICATE----- and -----END CERTIFICATE-----.

Extra spaces, carriage returns, and other extraneous characters will cause certifiation validation to fail.
Outbound Signing Algorithm By default, Auth0 will sign with RSA-SHA1, so choose that option from the dropdown unless you've configured a custom signing rule.
Disable Outbound Logout Requests Login with SSO currently does not support SLO. This option is planned for future development.
Want Authentication Requests Signed Whether Auth0 expects SAML requests to be signed.

When you're done with the Identity Provider Configuration section, Save your work.

tip

You can require users to log in with SSO by activating the Single Sign-On Authentication policy. Please note, this will require activating the Single Organization policy as well. Learn more.

Test the Configuration

Once your configuration is complete, test it by navigating to https://vault.bitwarden.com and selecting the Enterprise Single Sign-On button:

Enterprise Single Sign-On button
Enterprise Single Sign-On button

Enter the configured Organization Identifier and select Log In. If your implementation is successfully configured, you'll be redirected to the Auth0 login screen:

Auth0 Login
Auth0 Login

After you authenticate with your Auth0 credentials, enter your Bitwarden Master Password to decrypt your Vault!


Products

Resources

  • Resource Center
  • Community Forums
  • Security Compliance
  • Success Stories
  • User Reviews
  • Newsfeed
  • Subscribe to Updates

©2022 Bitwarden, Inc.

Terms Privacy Sitemap