Azure OIDC Implementation
This article contains Azure-specific help for configuring Login with SSO via OpenID Connect (OIDC). For help configuring Login with SSO for another OIDC IdP, or for configuring Azure via SAML 2.0, see OIDC Configuration or Azure SAML Implementation.
Configuration involves working simultaneously within the Bitwarden web vault and the Azure Portal. As you proceed, we recommend having both readily available and completing steps in the order they are documented.
Navigate to your organization's Settings → Single sign-on screen:
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.
In the Azure Portal, navigate to App registrations and select the New registration button:
Complete the following fields:
On the Register an application screen, give your app a Bitwarden-specific name and specify which accounts should be able to use the application. This selection will determine which users can use Bitwarden login with SSO.
Select Authentication from the navigation and select the Add a platform button:
Select the Web option on the Configure platforms screen and enter your Callback Path in the Redirect URIs input.
Callback Path can be retrieved from the Bitwarden SSO Configuration screen. For cloud-hosted customers, this is always
https://sso.bitwarden.com/oidc-signin. For self-hosted instances, this is determined by your configured server URL, for example
Select Certificates & secrets from the navigation, and select the New client secret button:
Give the certificate a Bitwarden-specific name, and choose an expiration timeframe.
Select API permissions and click Grant admin consent for Default Directory. The only permission needed is added by default, Microsoft Graph > User.Read.
At this point, you have configured everything you need within the context of the Azure Portal. Return to the Bitwarden web vault to configure the following fields:
Enter the App registration's Application (client) ID, which can be retrieved from the Overview screen.
Enter the Secret Value of the created client secret.
For Azure implementations as documented, you can leave this field blank.
OIDC Redirect Behavior
Select either Form POST or Redirect GET.
Get Claims From User Info Endpoint
Enable this option if you receive URL too long errors (HTTP 414), truncated URLS, and/or failures during SSO.
Define custom scopes to be added to the request (comma-delimited).
Additional/Custom User ID Claim Types
Define custom claim type keys for user identification (comma-delimited). When defined, custom claim types are searched for before falling back on standard types.
Additional/Custom Email Claim Types
Define custom claim type keys for users' email addresses (comma-delimited). When defined, custom claim types are searched for before falling back on standard types.
Additional/Custom Name Claim Types
Define custom claim type keys for users' full names or display names (comma-delimited). When defined, custom claim types are searched for before falling back on standard types.
Requested Authentication Context Class Reference values
Define Authentication Context Class Reference identifiers (
Expected "acr" Claim Value in Response
When you are done configuring these fields, Save your work.
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.
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:
Enter the configured organization identifier and select Log In. If your implementation is successfully configured, you will be redirected to the Microsoft login screen:
After you authenticate with your Azure credentials, enter your Bitwarden master password to decrypt your vault!
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.