Admin ConsoleLogin with SSO

ADFS SAML Implementation

This article contains Active Directory Federation Services (AD FS)-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 AD FS Server Manager. As you proceed, we recommend having both readily available and completing steps in the order they are 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

Navigate to your organization's SettingsSingle sign-on screen:

SAML 2.0 configuration  |
SAML 2.0 configuration

If you haven't already, create a unique SSO identifier for your organization. Otherwise, you don't need to edit anything on this screen yet, but keep it open for easy reference.

tip

If you are 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 a relying party trust

In the AD FS Server Manager, select ToolsAD FS ManagementActionAdd Relying Party Trust. In the wizard, make the following selections:

  1. On the Welcome screen, select Claims Aware.

  2. On the Select Data Source screen, select Enter data about the relying party manually.

  3. On the Specify Display Name screen, enter a Bitwarden-specific display name.

  4. On the Configure URL screen, select Enable support for SAML 2.0 WebSSO protocol.

    • In the Relying party SAML 2.0 SSO service URL input, enter the 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.

  5. On the Choose Access Control Policy screen, select the policy that meets your security standards.

  6. On the Configure Identifiers screen, add the SP Entity ID (retrieved from the Bitwarden SSO configuration screen) as a relying party trust identifier.

    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.

  7. On the Choose Access Control Policy screen, select the desired policy (by default, Permit Everyone).

  8. On the Ready to Add Trust screen, review your selections.

Advanced options

Once the relying party trust is created, you can further configure its settings by selecting Relying Party Trusts from the left-hand file navigator and selecting the correct display name.

Hash algorithm

To change the Secure hash algorithm (by default, SHA-256), navigate to the Advanced tab:

Set a Secure Hash Algorithm  |
Set a Secure Hash Algorithm

Endpoint binding

To change the endpoint Binding (by default, POST), navigate to the Endpoints tab and select the configured ACS URL:

Edit Endpoint |
Edit Endpoint

Edit claim issuance rules

Construct claim issuance rules to ensure that the appropriate claims, including Name ID, are passed to Bitwarden. The following tabs illustrate a sample ruleset:

ADFS Rule 1 |
ADFS Rule 1
ADFS Rule 2 |
ADFS Rule 2
ADFS Rule 3 |
ADFS Rule 3

Get certificate

In the left-hand file navigator, select AD FSServiceCertificates to open the list of certificates. Select the Token-signing certificate, navigate to its Details tab, and select the Copy to File... button to export the Base-64 encoded token signing certificate:

Get token-signing Certificate  |
Get token-signing Certificate

You will need this certificate during a later step.

Get federation service identifier

In the left-hand file navigator, select AD FS and from the right-hand options menu select Edit Federation Service Properties. In the Federation Service Properties window, copy the Federation Service Identifier:

Get Federation Service Identifier  |
Get Federation Service Identifier

You will need this identifier during a later step.

Back to the web vault

At this point, you have configured everything you need within the context of the AD FS Server Manager. Return 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

In the service provider configuration section, configure the following fields:

Field

Description

Name ID Format

Select the Outgoing Name ID Format selected when constructing claims issuance rules (see Rule 3).

Outbound Signing Algorithm

The algorithm Bitwarden will use to sign SAML requests.

Signing Behavior

Whether/when SAML requests will be signed.

Minimum Incoming Signing Algorithm

By default, AD FS will sign with SHA-256. Select SHA-256 from the dropdown unless you have configured AD FS to use different algorithm.

Want Assertions Signed

Whether Bitwarden expects SAML assertions to be signed.

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 are done with the service provider configuration, Save your work.

Identity provider configuration

Identity provider configuration will often require you to refer back to the AD FS Server Manager to retrieve values:

Field

Description

Entity ID

Enter the retrieved Federation Service Identifier. Please note, this may not use HTTPS. This field is case sensitive.

Binding Type

By default, AD FS with use HTTP POST endpoint binding. Select HTTP POST unless you have configured AD FS to use a different method.

Single Sign On Service URL

Enter the SSO Service Endpoint. This value can be constructed in the Service Endpoints tab in AD FS Manager. The endpoint URL is listed as URL Path for SAML2.0/WS-Federation and is usually something like https://your-domain/adfs/ls. You can obtain the exact value from the configuration key for SingleSignOnServce in the FederationMetadata.xml document.

X509 Public Certificate

Paste the downloaded certificate, removing

-----BEGIN CERTIFICATE-----

and

-----END CERTIFICATE-----

The certificate value is case sensitive, extra spaces, carriage returns, and other extraneous characters will cause certification to fail.

Outbound Signing Algorithm

By default, AD FS will sign with SHA-256. Select SHA-256 from the dropdown unless you have configured AD FS to use different algorithm.

Disable Outbound Logout Requests

Login with SSO currently does not support SLO. This option is planned for future development.

Want Authentication Requests Signed

Whether AD FS expects SAML requests to be signed.

When you are done with the identity provider configuration, 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, entering your email address, selecting Continue, and selecting the Enterprise Single-On button:

Enterprise single sign on and master password  |
Enterprise single sign on and master password

Enter the configured organization identifier and select Log In. If your implementation is successfully configured, you will be redirected to the AD FS SSO login screen. After you authenticate with your AD FS credentials, enter your Bitwarden master password to decrypt your vault!

note

Bitwarden does not support unsolicited responses, so initiating login from your IdP will result in an error. The SSO login flow must be initiated from Bitwarden.



© 2023 Bitwarden, Inc.
TermsPrivacySitemap