Confluence SAML app gives the ability to enable SAML Single Sign On for Confluence Software. Confluence Software is compatible with all SAML Identity Providers. Here we will go through a guide to configure SSO between Confluence and your Identity Provider. By the end of this guide, users from your Identity Provider should be able to login and register to Confluence Software.
Pre-requisites
To integrate your Identity Provider(IDP) with Confluence, you need the following items:
- Confluence should be installed and configured.
- Admin credentials are set up in Confluence.
- Confluence server is https enabled (optional).
- Valid Confluence Server and Data center Licence.
Download And Installation
- Log into your Confluence instance as an admin.
- Navigate to the settings menu and Click Manage Apps.
- Click Find new apps or Find new add-ons from the left-hand side of the page.
- Locate Confluence SSO/ Single Sign On, SAML SSO via search.
- Click Try free to begin a new trial or Buy now to purchase a license for Confluence SSO/ Single Sign On, SAML SSO.
- Enter your information and click Generate license when redirected to MyAtlassian.
- Click Apply license.
Step 1: Setup Azure AD B2C as Identity Provider
Follow the steps below to configure Azure AD B2C as an Identity Provider
Register
the IdentityExperienceFramework application
- From the Azure AD B2C tenant, select App registrations, and then select New
registration.
- For Name, enter IdentityExperienceFramework.
- Under Supported account types, select Accounts in this organizational directory
only.
- Under Redirect URI, select Web, and then enter
https://your-tenant-name.b2clogin.com/your-tenant-name.onmicrosoft.com where
your-tenant-name is your Azure AD B2C tenant domain name.
- Under Permissions, select the Grant admin consent to openid and offline_access
permissions check box. Now, Select Register.
- Record the Application (client) ID for use in a later step.
- To Expose the API add a scope under Manage, select Expose an API.
- Select Add a scope, then select Save and continue to accept the default application
ID URI.
- Enter the following values to create a scope that allows custom policy execution in your
Azure AD B2C tenant:
Scope name |
user_impersonation |
Admin consent display name |
Access IdentityExperienceFramework |
Admin consent description |
Allow the application to access IdentityExperienceFramework
on behalf of the signed-in user |
- Select Add scope and State:Enabled
Register
the ProxyIdentityExperienceFramework application
- Select App registrations, and then select New registration.
- For Name, enter ProxyIdentityExperienceFramework.
- Under Supported account types, select Accounts in this organizational directory
only.
- Under Redirect URI, use the drop-down to select Public client/native (mobile &
desktop).
- For Redirect URI, enter myapp://auth.
- Under Permissions, select the Grant admin consent to openid and offline_access
permissions check box and select Register.
- Record the Application (client) ID for use in a later step.
- Next, specify that the application should be treated as a public client. Under
Manage, select Authentication.
- Under Advanced settings, enable Allow public client flows (select Yes).Select
Save.
- Now, grant permissions to the API scope you exposed earlier in the
IdentityExperienceFramework registration. Under Manage, select API
permissions.
- Under Configured permissions, select Add a permission.
- Select the My APIs tab, then select the IdentityExperienceFramework
application.
- Under Permission, select the user_impersonation scope that you defined
earlier.
- Select Add permissions. As directed, wait a few minutes before proceeding to the next
step.
- Select Grant admin consent for (your tenant name).
- Select your currently signed-in administrator account, or sign in with an account in your
Azure AD B2C tenant that's been assigned at least the Cloud application administrator role.
Select Accept.
- Now Refresh, and then verify that "Granted for ..." appears under Status for
the scopes: offline_access, openid and user_impersonation. It might take a few minutes for
the permissions to propagate.
Register
the SAML Application
- Select App registrations, and then select New registration.
- Enter a Name for the application Eg:SAML_APP.
- Under Supported account types, select Accounts in any identity provider or
organizational directory (for authenticating users with user flows).
- Under Redirect URI, select Web, and then enter the ACS URL as
{application_base_url}/plugins/servlet/saml/auth from the Service Provider
Information tab of the miniOrange SAML SSO plugin. Select Register.
- Under Manage, click on Expose an API.
- Click on Set for the Application ID URI and then click on Save, accepting the
default value.
- Once saved, copy the Application ID URI and navigate to the Service Provider
Information tab of the plugin.Paste the copied value under the SP Entity ID
field provided in this tab. Click on Save.
Generate
SSO Policies
- From our Azure AD B2C portal, navigate to the Overview section of your B2C tenant and record
your tenant name.
NOTE: If your B2C domain is demo.onmicrosoft.com, then your tenant name is demo.
- Enter your Azure B2C tenant name below, along with the application
ID for IdentityExperienceFramework and ProxyIdentityExperienceFramework apps
as registered in the above steps.
Click on the Generate B2C Policies button to download the SSO policies.
Extract the downloaded zip file. It contains the policy files and certificate (.pfx),
which you will require in the following steps.
Upload
the Certificate
- Sign in to the Azure portal and
browse to your Azure AD B2C tenant.
- Under Policies, select Identity Experience Framework and then Policy
keys.
- Select Add, and then select Options > Upload
- Enter the Name as SamlIdpCert. The prefix B2C_1A_ is automatically added to the name
of your key.
- Using the upload file control, upload your certificate that was generated in the above steps
along with the SSO policies (tenantname-cert.pfx).
- Enter the certificate's password as your tenant name and click on Create.
For
example, if your tenant name is demo.onmicrosoft.com, enter the password as demo.
- You should be able to see a new policy key with the name B2C_1A_SamlIdpCert.
Create
the signing key
- On the overview page of your Azure AD B2C tenant, under Policies, select Identity
Experience Framework.
- Select Policy Keys and then select Add.
- For Options, choose Generate.
- In Name, enter TokenSigningKeyContainer. For Key type, select RSA.
- For Key usage, select Signature. Now, Select Create.
Create
the encryption key
- Follow the first three steps, used to create signing key.
- For Name, enter TokenEncryptionKeyContainer. For Key type, select RSA.
- For Key usage, select Encryption. Now, Select Create.
Upload
the Policies
Step 2: Setup Confluence as Service Provider
Quick Setup streamlines the initial configuration process by automatically handling all essential details
required for a basic SSO setup. This allows you to quickly enable SSO functionality and then configure more
advanced features at your own pace.
You can follow the steps provided below initiate a Quick Setup:
- Click on the Add New IDP button in the Configured IDPs section.
- Next, select the Quick Setup option in the pop-up that appears.
- Select your preferred IDP from the list of IDPs displayed. You can also search for an IDP using the search
bar.
2.1: Service
Provider Metadata
After selecting your preferred IDP, you’ll be taken to the Service Provider (SP) Metadata section.
Here, you will find the metadata that you need to provide to your IDP.
The setup gives you two ways to add this metadata to your IDP. Let’s explore these two methods in depth:
2.2: Configuring
your Identity Provider
Let’s explore how you can configure your IDP using the metadata.
2.3: User
Profile
With the Identity Provider (IDP) configured, we will now set up the basic user profile attributes for your
Service Provider (SP).
2.5:
Troubleshooting and Support
Here, you can review the results of a successful test configuration, including the attributes received from
your IDP, the SAML request sent, and the SAML response received.
The Quick Setup method establishes basic SSO functionality for your end-users. However, you can further
customize your setup by utilizing the full set of features provided by the plugin.
To access advanced configuration options:
- Navigate to the Configured IDPs page.
- Locate the Edit dropdown menu for your configured IDP.
- From here, you can access your SP Metadata and customize settings for User Profile and
User Groups.
- For detailed information on customizing User Profile and User Groups settings, refer to the Custom Setup
section of this guide.
2.1: Service
Provider Metadata
If you intend to customize your IDP setup from the start, you can find the required Service Provider (SP)
metadata under the SP Metadata section. It contains essential information about your SP configuration
that you will need to provide to your IDP for seamless integration.
There are multiple ways to add this metadata to your IDP:
2.2: Configuring
Your Identity Provider
The manual setup flow allows you to dive into the complete set of configurations provided by the plugin to
add a SAML IDP.
The steps to configure an IDP using the Manual Setup option are:
2.2.1:
Adding IDP Metadata
There are three ways you can configure IDP settings with the information you have been given by your IDP
team:
2.2.1.1: By
Metadata URL
- Click on the Import from Metadata tab.
- Select IDP – Import From Metadata URL.
- Enter IDP metadata URL – paste the metadata URL that we fetched before initiating the Service
Provider .
- If your IDP changes certificates at intervals (Eg. Azure AD), you can refresh your IDP metadata
accordingly:
- Navigate to the Advanced SSO options from the menu on the left-hand side of the page.
- Enter your metadata URL in the Certificate Rollover field.
- Toggle the Refresh Certificate periodically option on.
- Use the drop-down provided to set the interval for a periodic refresh. We recommend you select five
minutes for the best results.
- Click Import.
2.2.1.2: By
Uploading Metadata XML File
- Click on the Import from Metadata tab.
- Select IDP: Import from Metadata File.
- Upload metadata file.
- Click Import.
2.2.1.3:
Manual Configuration
Go to Manual Configuration tab and enter the following details:
- IDP Entity ID.
- Single Sign On URL.
- Single Logout URL.
- X.509 Certificate.
Note: If you need to add an additional X.509 Certificate, you can do so by clicking on the Add button below the textbox.
2.3: User
Profile
2.4: User Groups
Now, let's move on to configure user group attributes for Jira. This feature allows you to replicate the user
groups present in your IDP within your Service Provider (SP) environment.
You can accomplish this in the following ways:
2.4.1: Setting
default group
- Select the users' Default Group in the User Groups tab. If no group is mapped, users are added to this
group by default.
- You can enable default groups for All Users or New Users using the option. Select None if you don't want
to assign any default group to SSO users.
2.4.2: Finding
Group Attribute
Similarly to how you identified the Attribute Names for User Profiles, you will need to locate the
attribute name corresponding to group information.
Here’s how you can do this:
- Go to the IDP Configuration section. Scroll down and click on Test Configuration.
- A table will display all the values returned by your IDP to Jira. If you don't see group information
in this table, you'll need to adjust your IDP settings to ensure it returns the appropriate group names.
- In the User Groups tab, enter the Attribute Name for groups in the Group Attribute field.
- Enter the Attribute Name of the group against Group Attribute.
- If you don't want to update groups of existing users, check the Disable Group Mapping option.
2.4.3: Group
Mapping
Group Mapping can be done in two ways:
2.5:
Troubleshooting and Support
- You can verify if your SAML SSO configuration is correct by clicking the Test Configuration button on the IDP configuration tab of the plugin.
- After a successful test configuration, you will be able to review the results on the Troubleshooting and Support page. This includes the attributes received from your Identity Provider (IDP), the SAML request sent, and the SAML response received.
- In case you encounter any issues or errors while setting up your IDP, refer to the Troubleshooting section for guidance on how to contact our support team.
Step 3: Redirection on Login Page
- If you have only one IDP configured, then you can use the features provided on the SSO Settings
tab and Redirection
Rules tab of the plugin to manage the redirection on the login page.
- Enable the Auto Redirect to IDP option on the SSO Settings tab if you want to
allow users to log in only using IDP.
- Use the Emergency/Backdoor Login URL to allow all admins to access the default login page
of Jira/Confluence and log
in using Jira local credentials. You can also restrict access to this URL for certain users.
- Use the settings given on the Redirection Rules tab to redirect users to their specific
IDPs based on their email
domains, groups, and directories. This feature is particularly useful in instances where you
have multiple IDPs
configured.
Step 4: Multiple IDPs
Our plugin offers the flexibility to configure multiple identity providers (IDPs) on your service
provider (SP), expanding your options for authentication..
Step 4.1: Configuring Multiple IDPs
- If you need to configure multiple IDPs on your SP you can do so by going to the
Configured IDPs section and clicking on Add New IDP.
Step 4.2: Managing SSO with Multiple IDPs
- If you have multiple IDPs configured, you can choose how you want your end users to use
these IDPs to perform SSO.
- For instance, you can display individual buttons for different IDPs on the login page and
let the users decide
which IDP to use for SSO. Additionally, you can force certain users to use a specific IDP
based on the domain of
their username/email.
- You’ll be able to configure these rules in the Redirection Rules section.
- The plugin has a default rule that is pre-configured and applied to all the users
irrespective of their domains.
For instance, if you want to display the login page with SSO buttons for each of the IDPs
then your Default Rule
will be as follows:
- Based on the default rule mentioned above, the login form will contain buttons for each IDP.
Users will have the freedom to choose any of the configured IDPs to initiate SSO.
- You can also configure a rule so that your users will be automatically redirected to an IDP
based on their email domains.
- For instance, if you want users that have example.com as their domain to be redirected to
IDP 1, you can add a rule for that as follows:
- Click on the Add Rule in the Redirection Rules tab.
- Enter a name for your rule in Rule Name.
- In the IF statement select Email Domain in the first drop-down.
- For the same statement select equals in the second drop-down.
- In the last field of the IF statement, enter the email domain(example.com for the
purpose of this example)
- In the Then Redirect To drop-down, select the IDP you want the users with
example.com to be redirected to(IDP 1 in this case)
- Click on Save.
- When a rule like the one described above is configured, users will see a login form where
they will have to input their email address.
- Additionally, within the Sign-In Settings, you have the option to configure SSO for
administrators, grant access to anonymous pages, and establish an emergency URL for
bypassing SSO. These settings can be found in the left-hand side menu bar.