This step-by-step guide explains how to set up single sign-on (SSO) in Contentstack with Microsoft Azure Active Directory (AD) as your SAML 2.0 identity provider (IdP). You create a connection in Contentstack, register and configure the Contentstack app in Azure AD, exchange the IdP details, add users and app roles, optionally map roles, and then test and enable SSO.
You can attach up to five SAML 2.0 IdPs to a single Contentstack organization. Each IdP is a separate connection with its own certificate, session policy, role mapping, and login URL, which is useful when a parent company and an acquired subsidiary run separate Azure AD tenants. This guide walks through one connection. To add and organize more connections, refer to Configure Multiple Identity Providers.
In a nutshell, this integration requires the following steps:
Let us see each of the processes in detail.
Note: SSO can be configured by the organization owner, a security manager, or a user with a custom role that has SSO write permissions.
Log in to your Contentstack account, open the App Switcher, go to Administration, and then click Single Sign-On.


Add a connection to open the New Connection dialog, and enter the following details:
Note: The SSO ID can contain only lowercase letters, numbers (0-9), and hyphens (-). You cannot change the SSO ID after you create the connection. SSO IDs are unique across all Contentstack organizations, so a name already in use elsewhere is rejected.
Let's use "sso-test" as the SSO ID.


Click Create.

Contentstack opens the connection at 1. SSO Configuration and generates the Assertion Consumer Service (ACS) URL, along with read-only details such as Entity ID, SAML Version, Attributes, and NameID Format. You need these details in Step 2. Keep this window open.
Note: The ACS URL contains this connection's SSO ID, so every connection in your organization has its own ACS URL. Use the ACS URL of the connection you are configuring.

Tip: Instead of copying the ACS URL and Entity ID individually into Azure AD, share Contentstack's service provider (SP) metadata in one step. Use Download Metadata XML. If you enable SAML encryption on this connection, the downloaded metadata also carries the public certificate your IdP uses to encrypt assertions. You can download that certificate on its own from the Contentstack public certificate link. Azure AD accepts SP metadata upload from the Basic SAML Configuration section. For details, refer to Download Contentstack (SP) Metadata.
Note: You need to be a Microsoft Azure AD administrator to complete the steps below.
To configure the integration of Contentstack into Microsoft Azure AD, you need to add the Contentstack app. Go to the Microsoft Azure portal, and click the Azure Active Directory tab.

Click Enterprise Applications on the left panel, and click + New application at the top.

Click Non-gallery application to create a new application that is not already present in the gallery.

Provide a name for your app, for example, "test-sso," and click Add.
Tip: In an organization with more than one connection, name each Azure AD app after the Contentstack connection it serves, for example "Contentstack (Acme Employees)." This keeps the app-to-connection pairing clear across tenants.

This will lead you to the Overview page. Under the Getting Started section, click the 2. Set up single sign on tab.

On the Select a single sign-on method page, select the SAML mode to enable single sign-on.

You will be led to the Set up Single Sign-On with SAML page.

Click the "Edit" (pencil) icon beside the Basic SAML Configuration section, and add the following details:

Next, edit the User Attributes & Claims section. Under Claim Name, you will see the primary claim, Unique User Identifier (Name ID), with the claim Value set to user.userprincipalname [nameid-format:emailAddress]. Delete the default attributes under Additional claims. You will add your own set of attributes.


To add your attributes, click + Add new claim.
On the Manage claim page, enter first_name under Name, select user.givenname under the Source attribute, and click Save. Similarly, add the following attributes:
| Name | Value |
|---|---|
| last_name | user.surname |
| user.userprincipalname | |
| roles | user.assignedroles |
If you want to enable role mapping in Contentstack, it is important to add the roles attribute, which is required for IdP Role Mapping covered in the next set of steps.



In the SAML Signing Certificate section, click the Download link beside Certificate (Base64). This downloads the Base64 version of the certificate for your Contentstack app. Copy the App Federation Metadata Url from the same section if you plan to import metadata instead.
If needed, edit the Notification Email Addresses section, change the notification email, and click Save.

Under the Set up <app_name> section, you will find important data, such as Login URL, Azure AD Identifier, and Logout URL of your Microsoft Azure AD app. This data is required when configuring the Microsoft Azure AD details in Contentstack.
Go to 2. IdP Configuration for this connection in Contentstack. You can provide Azure AD's details in one of three ways:
Tip: Importing metadata auto-populates the Single Sign-On URL, certificate, and related fields, which reduces manual entry and errors. Signature algorithm and SAML encryption are not part of IdP metadata, so you always set those by hand. For the full procedure and error handling, refer to Import IdP Metadata.
To enter the details manually:
Copy the URL provided in the Login URL section of your Contentstack application in Microsoft Azure AD, and paste it into the Single Sign-On URL field in Contentstack's 2. IdP Configuration step.

Upload the X.509 certificate that you downloaded from Microsoft Azure AD in Step 2.l into the Certificate field.
Warning: A connection stores one signing certificate. Contentstack shows its expiry date next to the field. When your IdP switches to a new signing certificate, every SAML assertion arrives signed by a certificate Contentstack does not recognize, and sign-in through this connection fails until you upload the new certificate here. Coordinate the replacement with the switch on the IdP side rather than waiting for the current certificate to expire.
Under Signature Algorithm, select the algorithm Azure AD uses. Available options are SHA-1, SHA-256, and SHA-512.
Note: The Single Sign-On URL must use HTTPS.
(Optional) Turn on SAML encryption to encrypt your SAML attributes. SAML encryption is configured per connection.
Click Save.
Note: The organization owner can always sign in with Contentstack credentials, regardless of SSO status. If SSO login fails after a certificate update, the owner can sign back in and restore the previous configuration.
Next, you need to define roles in Microsoft Azure AD that will be used to create role mapping in Contentstack.
After setting the necessary configurations in Contentstack, you need to add users to your newly added application.



You can either select from the given list of users or invite and add new users.
Note: Assign only the users who authenticate through this connection. In an organization with more than one connection, a user is identified by email address across every IdP, and the same email cannot map to different users in different IdPs.
Note: This is an optional step, but it is mandatory if IdP Role Mapping is part of your Contentstack plan and you want to implement it.
Application roles are defined under the application's registration manifest in the Microsoft Azure portal. To add user roles, perform the following steps:
In the left navigation, click App Registrations, and click All applications. Locate your newly created application and click it.

In your application blade, click Manifest. You will see the JSON representation of your application.
Add the following code snippet of a new role under appRoles:
{"allowedMemberTypes": ["User"],"description": "Developer Role","displayName": "Developer","id": "18d14569-c3bd-439b-9a66-3a2aee02f15f","isEnabled": true,"value": "developer"}
The value provided to the value parameter is what you add in the IdP Role Mapping section of Contentstack. All the values provided in this snippet are user-defined.
For adding multiple roles, create similar snippets with the required role details.

Save the manifest.
Note: This is an optional step, but it is mandatory if IdP Role Mapping is part of your Contentstack plan and you want to implement it.
To assign roles to application users, perform the following steps:
You can now proceed to create role mappings in Contentstack for the IdP roles you created. Go to the 3. User Management step of this connection.
Go to 3. User Management to define how users access your SSO-enabled organization through this connection. This step covers Strict Mode, User Email Whitelists, Session Time-Out, and Advanced Settings.
Strict Mode: Enable Strict Mode if you do not want any user to access the organization without SSO login.
Note: Strict mode is set per connection, but it takes effect across the whole organization. If any enabled connection has strict mode on, the entire organization is SSO-only. Because of this, only one connection can hold the strict mode toggle at a time, and enabling strict mode on one connection disables the toggle on the others. Disabling a connection that has strict mode on removes strict mode for the organization, because a disabled connection does not contribute to the organization's strict state.

User Email Whitelists: Lets specified users access APIs even when strict mode is enabled. This setting is organization-scoped and applies only when strict mode is enabled, so the field appears only under the User Management step of the connection that has strict mode enabled. Enter up to 100 email addresses separated by commas, for example, user1@example.com, user2@example.com. Each address must belong to an accepted, non-owner member of the organization.
Note: This is a plan-based feature. For access, contact our support team.
Session Time-Out: The Session Time-Out option lets you define the session duration for a user signed in through this connection. The default is 12 hours, and you can set any value between 1 and 24 hours. This setting applies per connection.
Advanced Settings: Click Advanced Settings to expand the IdP Role Mapping section and map Azure AD roles to Contentstack roles.
Note: You will only be able to view and perform this step if IdP Role Mapping is part of your Contentstack plan.
In the Add Role Mapping section, click + ADD ROLE MAPPING to add the mapping details of an IdP role. The details include the following:
Note: The available products and roles depend on your Contentstack plan and the applications enabled for your organization.
Likewise, you can add more role mappings, up to 200 per connection. To add a new role mapping, click + ADD ROLE MAPPING and enter the details.
Keep Role Delimiter blank, as Microsoft Azure AD usually returns roles in an array.
Select the Enable IdP Role Mapping checkbox to enable the feature.
Warning: Once IdP Role Mapping is on, a user whose assertion carries no role matching any mapping is denied sign-in through this connection. Organization owners are exempt, so a successful test as the owner does not prove that other users can sign in. Before you enable it, confirm that every group you expect to sign in has a matching mapping and that the Role Delimiter matches what your IdP sends.
Click Next to continue.
Note: Role mapping is configured per connection. The roles applied to a user come from the connection that user signed in through, not from the union of every connection in the organization. For how IdP Role Mapping interacts with SCIM provisioning, refer to IdP Role Mapping.

Next, you can try out the "Test SSO" and "Enable SSO" steps in Contentstack.
Before enabling this connection, it is recommended that you test the settings configured so far. To do so, perform the following steps:
If you have enabled IdP Role Mapping, you will find the following details on a new page:
Click Close. Now, you can safely enable this connection.
Note: While testing with IdP Role Mapping enabled, the test is performed only for the IdP roles of the currently signed-in user.

Once you have tested your settings, click Enable SSO to enable this connection. Confirm your action by clicking Yes.
Once enabled, users can access the organization through this connection. You can disable it from the same page at any time.
Note: The first connection you enable becomes the organization's primary connection. In an organization with more than one connection:
For the full set of connection actions, refer to Manage SSO Connections.


Additional Resource: To add more identity providers, refer to Configure Multiple Identity Providers. To import Azure AD's federation metadata instead of entering details by hand, refer to Import IdP Metadata.