SAML Single Sign On (SSO) into Jira using Keycloak as IDP
×
Jira SAML app gives the ability to enable SAML Single Sign-On for Jira Software and Jira Service Desk. Jira Software and Jira Service Desk are compatible with all SAML Identity Providers. Here we will go through a guide to configure SAML SSO between Jira and your Identity Provider. By the end of this guide, users from your Identity Provider should be able to login and register to Jira Software and Service Desk.
You can refer the steps to configure Keycloak for Jira SAML SSO from the video or documentation given below
Pre-requisites
To integrate your IDP with Jira, you have to ensure the following prerequisites are met:
You have Jira installed and configured on your system.
Your Jira Server is https-enabled (optional, but recommended for secure communication).
You have your administrative credentials set up in Jira.
You have a valid Jira Server or Data Center license.
Download And Installation
Now, let’s look at how you can download and install the miniOrange Jira SAML Single Sign On (SSO) plugin for your Jira Data Center.
Log into your Jira instance as an admin.
Navigate to the settings and Click Manage Apps.
Click Find new apps or Find new add-ons from the left-hand side of the page.
Click Try free to begin a new trial or Buy now to purchase a license for the plugin.
Enter your information and click Generate license when redirected to MyAtlassian.
Click Apply licence.
×
Steps to configure Keycloak Login using Keycloak as IDP
Select Keycloak version:
1. Setup Keycloak as IdP
(Identity Provider)
Configure Keycloak as IdP
In your Keycloak Admin console, select the realm that you want to use.
Click on Clients from the left menu and then click on Create button to create a new
client/application.
Enter SP-EntityID / Issuer as the Client ID from the "Service Provider
Metadata" Tab and select SAML as the Client Protocol.
Now click on Save.
Configure Keycloak by providing the required details:
Client ID
The SP-EntityID / Issuer from the plugin's Service
Provider
Metadata tab
Name
Provide a name for this client
Description
Provide a description
Client Signature Required
OFF
Force POST Binding
OFF
Force Name ID Format
OFF
Name ID Format
Email
Root URL
Leave empty or Provide Base URL from Service Provider Metadata tab
Valid Redirect URIs
The ACS (Assertion Consumer Service) URL from the plugin's
Service Provider Metadata tab
Under Fine Grain SAML Endpoint Configuration, Enter the following details:
Assertion Consumer Service POST Binding URL
The ACS (Assertion Consumer Service) URL from the plugin's Service Provider
Metadata
tab
Logout Service Redirect Binding URL (Optional)
The Single Logout URL from the plugin's Service Provider Metadata tab
Click on Save.
In your Keycloak Admin console, select the realm that you want to use.
Click on Clients from the left menu and then click on Create Client button to create a new
client/application.
Select SAML as Client type, Enter SP-EntityID / Issuer as the Client ID from the
"Service Provider Metadata"
Tab,Enter Name of your application and enter Description.
Now click on Save.
Configure Keycloak by providing the required details:
Client ID
The SP-EntityID / Issuer from the plugin's Service
Provider
Metadata tab
Name
Provide a name for this client
Description
Provide a description
Client Signature Required
OFF
Force POST Binding
OFF
Force Name ID Format
OFF
Name ID Format
Email
Root URL
Leave empty or Provide Base URL from Service Provider Metadata tab
In Advanced tab,under Fine Grain SAML Endpoint Configuration, Enter the following details:
Assertion Consumer Service POST Binding URL
The ACS (Assertion Consumer Service) URL from the plugin's Service Provider
Metadata
tab
Logout Service Redirect Binding URL (Optional)
The Single Logout URL from the plugin's Service Provider Metadata tab
Click on Save.
In your Keycloak Admin console, select the realm that you want to use.
Click on Clients from the left menu and then click on Create Client button to create a new client/application.
Select SAML as Client type, Enter SP-EntityID / Issuer as the Client ID from the Service Provider Metadata tab, enter Name of your application and enter Description.
Click on the Next button.
Provide the details as mentioned below:
Root URL
Leave empty or provide Base URL from Service Provider Metadata tab
Valid Redirect URIs
The ACS (Assertion Consumer Service) URL from the plugin's Service Provider Metadata tab
Click on Save button.
In the Settings tab under SAML capabilities section, configure Keycloak by providing the required details:
Force POST Binding
OFF
Force Name ID Format
OFF
Name ID Format
Email
In the Keys tab, disable the Client signature required toggle.
Click on the Save button.
In Advanced tab, under Fine Grain SAML Endpoint Configuration, enter the following details:
Assertion Consumer Service POST Binding URL
The ACS (Assertion Consumer Service) URL from the plugin's Service Provider Metadata tab
Logout Service Redirect Binding URL (Optional)
The Single Logout URL from the plugin's Service Provider Metadata tab
Click on Save button.
Add Mappers
Navigate to Mappers tab and click on Add Builtin button.
Select the checkboxes of X500 givenName, X500 surname and X500 email attributes.
Click on Add Selected button. You will see the mappings that are added below.
In Client scopes tab,click on your application.
Click on Add predefined mapper.
Select the checkboxes of X500 givenName, X500 surname and X500 email attributes.
Click on Add button.
You will see the mappings that are added below.
In the Client scopes tab, click on your application.
Click on Add predefined mapper.
Select the checkboxes of X500 givenName, X500 surname and X500 email attributes.
Click on the Add button.
You will see the mappings that are added below.
Download setup file
Navigate to Realm Settings, click on SAML 2.0 Identity Provider Metadata
mentioned as Endpoints in the General Tab.
Note the URL and keep it handy. That will provide you with the Endpoints required to configure the
plugin.
You have successfully configured Keycloak as SAML IdP ( Identity Provider) for achieving Kecloak SSO, ensuring secure Login into (WP) Site.
Navigate to Realm Settings, click on SAML 2.0 Identity Provider Metadata
mentioned as Endpoints in the General Tab.
Note the URL and keep it handy. That will provide you with the Endpoints required to configure the
plugin.
You have successfully configured Keycloak as SAML IdP ( Identity Provider) for achieving Keycloak login /
Keycloak SSO / Keycloak Single Sign-On (SSO), ensuring secure Login into (WP) Site.
Navigate to Realm Settings, click on SAML 2.0 Identity Provider Metadata mentioned as Endpoints in the General tab.
Note the URL and keep it handy. That will provide you with the Endpoints required to configure the plugin.
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.1.1:
Importing the metadata
If your IDP supports importing of metadata, then you can select By providing a metadata URL/File to
the IDP from the dropdown list.
Based on your Identity Provider's requirements, you can either provide the metadata URL or download an
XML metadata file. To obtain the XML file, click on Download Metadata.
2.1.2:
Manually adding the metadata
If you wish to add the metadata manually, then you can select By manually configuring the metadata
on
your IDP from the dropdown list.
If you select the manual method the screen will provide you with SP Entity ID, ACS URL, and
SP
Certificate. You will have to provide these details to your IDP.
Click on Proceed once you’re done.
2.2: Configuring
your Identity Provider
Let’s explore how you can configure your IDP using the metadata.
2.2.1:
Custom
IDP name
Our plugin gives you the option to name your IDP through the Custom IDP Name field. This
feature
is useful if you need to set up multiple IDPs. It will display the custom name on the SSO button on the
login page for each configured IDP.
If you do not wish to set a custom name, simply select No from the dropdown menu.
2.2.2:
Adding
the IDP metadata
Next, you can scroll down on the same page to add IDP metadata. Our plugin provides three ways for you
to
add your IDP metadata. You can select any one of the three methods using the corresponding dropdown
list.
Let’s look at the three options individually:
2.2.2.A: I
have the metadata URL for my IDP
If you select this option from the dropdown list, you just need to paste your metadata URL in the
Enter Metadata URL field. This is the same URL we fetched before initiating the Service
Provider
setup step.
2.2.2.B: I
have a file which contains the metadata
If you select this option, you just need to upload the metadata file to the plugin using the
Choose
File button.
2.2.2.C: I
want to manually configure the IDP
Selecting this option requires manually configuring the IDP details. To do so, you will need to
obtain
the following information from your IDP's metadata:
Single Sign On URL.
IDP Entity ID.
IDP Signing Certificate.
2.2.3:
Testing the configuration
After adding the IDP metadata, click Save. If the IDP was added successfully, you will see a field
labeled Test and Get Attributes URL. To verify the configuration, open the URL in an incognito window to
Get the Attributes from IDP. This will test if the IDP integration was set up correctly.
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.3.1:
Matching a user
During the Jira SSO process, the user's account is identified based on an attribute received from the
Identity Provider (ISP).
This attribute value is used to locate the corresponding user account in Jira and log the user into
that account. You can select which specific attribute should be used for this user mapping by choosing
from the provided dropdown menu.
2.3.2:
Setting profile attributes
Setting up both Username and Email is required if you want to let users register. If the test
configuration performed in the previous step was successful, then the inputs for the username and email
attributes will be dropdowns.
These dropdowns will contain all of the users’ attribute names sent from the IDP. You will need to
select the appropriate options containing the user's username and email.
2.4: User Groups
- Default groups
To grant users access to Jira, they must be members of at least one of the default Jira groups. This step
allows you to select the default groups that will be automatically assigned to users upon successful SSO
authentication. You can set multiple groups as default groups.
Our plugin gives you the option to enable default groups for All Users, New Users, or Users with No IDP
Groups using a dropdown list. If you don't want to assign any default group to SSO users, you can select
None.
This concludes the Quick Setup flow. If you encountered any issues or errors while setting up your
Identity Provider (IDP), refer to the Troubleshooting section for guidance or contact our support.
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.
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.1.1:
Importing the metadata
Depending on how your IDP accepts the metadata, you can either provide the metadata URL or you can use
the Download Metadata button to download an XML file for the same.
2.1.2:
Manually add the metadata
If you wish to add the metadata manually, you will find the following information in this section. You
will need to provide these details to your IDP.
SP Entity ID
ACS URL
SP Certificate
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
Next we will be setting up user profile attributes for Jira. The settings for this can be found in the
User Profile section.
2.3.1:
Finding correct attributes
Go to the IDP Configuration section. Scroll down and click on Test Configuration.
You will see all the values returned by your IDP to Jira in a table. If you don't see value for First
Name, Last Name, Email, or Username, change the required settings in your IDP so that it returns this
information.
Once you see all the values in Test Configuration, keep the window open and go back to the User
Profile section.
2.3.2:
Setting profile attributes
In the User Profile section, fill the values by matching the name of the attribute. For instance, if
the Attribute Name in the Test Configuration window is NameID, enter NameID against Username.
For user registration, ensure both the Username and Email fields are set up. If you're only allowing
existing users to log in, configure the attribute that will match the user in Jira.
2.3.3:
Matching a user
When a user logs into Jira, one of their attributes from the IDP is used to search for their account.
This enables Jira to detect the user and log them into the corresponding account.
You can configure it using the steps given below:
Select Username or Email for the Login user account by option.
Enter the attribute name from IDP which corresponds to Username or Email using Finding
Correct Attributes.
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.4.3.1:
Manual Group Mapping
If the names of groups in Jira are different from the corresponding groups in IDP, then you should use
Manual group mapping.
Check Restrict User Creation Based on Group Mapping option if you want new users to be created only if
at least one of the user's IDP groups is mapped to a group in the application.
To do the mapping, first select a Jira group from the dropdown which lists all groups present in Jira
and then enter the name of the IDP group to be mapped in the textbox beside.
For example, if you want all users in the 'dev' group in IDP to be added to Jira-software-users, you
will need to select Jira-software-users from the dropdown and enter 'dev' against Jira-software-users.
Use '+1' and '+10' buttons to add extra mapping fields.
Use the '-' button next to each mapping to delete that mapping.
2.4.3.2: On-The-Fly Group Mapping
If the names of groups in Jira and IDP are the same, we recommend you use On-The-Fly group mapping.
Check Create New Groups option if you want new groups from IDP to be created if not found in Jira.
If the user is part of some group in Jira and that group is not present in the SAML response returned by IDP, then the user will be removed from that group in Jira.
If you don't want On-The-Fly group mapping to affect Jira groups which are managed locally then add those groups in the Exclude Groups field.
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.
Configure SCIM with SAML
Configure SCIM with SAML for your choosen IDP by following the step by step guide
linked here.
Hi! Do you need help with this guide?
Thank you for your response. We will get back to you soon.
Something went wrong. Please submit your query again