SAML Single Sign On (SSO) into Jira using AuthAnvil as IDP

Setup AuthAnvil as Identity Provider

Prerequisites:

  • Copy these values from the Service Provider Info tab of the SAML plugin.
    • SP Entity ID
    • ACS URL

Instructions:

  • Login to Authanvil and Go to SSO Management ⇒ +(add icon) -> Create New Application ⇒ Custom Application

Create Custom Application - AuthAnvil SSO

  • Enter the Application Name

Enter Application - AuthAnvil SSO

  • Go to Protocol Setup and Enter following info:
Protocol Setup SP-INIT
Assertion Consumer Service URL ACS URL copied from the plugin
Allow Multiple Audiences Unchecked
Audience URI SP Entity ID copied from the plugin
Service Entity ID SP Entity ID copied from the plugin

Protocol Setup - AuthAnvil SSO

  • Enter Advanced Setting
Include All Audience URIs Checked
Sign Token Response Checked
Sign Assertion Unchecked
Signing Algorithm SHA1

Advanced Settings - AuthAnvil SSO

  • Go to Attribute Transformation Tab and select Specify Custom Attribute Transformation. Add the NameID attribute and click on Add. Then add the name attribute as given in the image.

Custom Attribute Mapping - AuthAnvil SSO

Attribute Transformation - AuthAnvil SSO

 

  • Go to Permission tab and add Groups to which you want to give access to this application.

Group Mapping Access - AuthAnvil SSO

 

  • Click on Add Application and then Save Changes
  • Open the app. Click on View Federation Metadata in Protocol Setup Tab and save the generated metadata xml file. This metadata file will be required to configure the plugin.

Federation Metadata - AuthAnvil SSO


Setup Jira as Service Provider

Now we will go through the steps to setup Jira as a Service Provider using miniOrange add-on:

Configuring IDP First Time

You can skip the Flow Driven setup by closing it by clicking on cross(X) and continue with setting up using Single IDP Setup.

1. Click on the Configure button from the plugin's list. It will show you the following page to download the setup guide. Click Next

2. Note down the following information. This information is required for creating an application on IdP. Click Next.
  • SP Entity ID / Issuer
  • ACS URL
  • Certificate

3. We can configure IDP Settings in JIRA in four ways:

3.1. Using Metadata URL
Enter IDP Name, select IDP Metadata as URL & enter your IDP metadata URL in the given textbox. Click on Import to fetch IDP settings.


3.2. Using Metadata File
Enter IDP Name, select IDP Metadata as File & browse your IDP metadata file. Click on Import to fetch IDP settings.


3.3. Using Metadata Text
Enter IDP Name, select IDP Metadata as Text & add your IDP metadata XML content in the given text area. Click on Import to fetch IDP settings.


3.4. Manual Configuration
You can also configure IDP settings on Jira manually. For that, you need to click here.


Enter the following details
  1. IDP Name
  2. IDP Entity ID /Issuer
  3. Single Sign-on URL
  4. Single Logout URL
  5. IDP Signing Certificate

4. Enter username attribute name & email address attribute name from IDP. Click on the Save button after adding valid information. If you are not sure about this information, you can configure this later.


5. Click on Finish.

Configuring Single IDP

We can configure IDP settings in 3 ways:

A. By Metadata URL

  1. Click on Import from Metadata in Configure IDP tab
  2. Select IDP: Import From Metadata URL
  3. Enter IDP metadata URL: Enter your metadata URL
  4. If your IDP changes certificates at intervals, you can select Refresh metadata periodically. Select 5 minutes for the best results.
  5. Click Import



B. By uploading Metadata XML file

  1. Click on Import from Metadata in Configure IDP tab
  2. Select IDP: Import from Metadata File
  3. Upload metadata file
  4. Click Import



C. Manual Configuration

Go to Configure IDP tab and enter the following details
  • IDP Entity ID
  • Single Sign On URL
  • Single Logout URL
  • X.509 Certificate
Configure New IDP

If you already have one IDP & you are looking to add Second IDP then you can do it by performing the following steps.
  • Navigate to Configure IDP tab.
  • Click on Add new IDP.
  • It will present a blank form & you can configure new IDP using steps from Single IdP Setup.


Configure multiple IDPs

If you have configured more than two IDPs then it will show you the list of IDP that you have configured with Jira.
Click on Add new IdP button for adding new IDP on Jira. The steps for adding new IDP will remain the same.


An operation that you can perform with List of IdPs page.
  • Add / delete Identity Provider.
  • Test Connection between Jira & IdP by click on Test button for respective IDP.
  • Edit the IdP configuration by clicking on the Edit button.
  • You can allow an only specific set of users to access Jira by using Domain Mapping.

Single Sign-On with Multiple Identity Provider(IDP)

Select your IdP from the list. It will redirect you to selected IdP login page.


Configure Domain Mapping

You can enable domain mapping using Use Domain Mapping option.
Once enable it, you need add domain name against each IDP.
After enabling Domain Mapping it allows SSO only for those users whose domain matches with the specified one.



Single Sign-On using Domain mapping

Enter the user email address. It will check your domain name with the configured domain if it matches then it will redirect you to the respective Identity Provider Login page.


This is how the login screen would appear after enabling domain mapping.

Setting up Jira user profile attributes

We will be setting up user profile attributes for Jira. If your users are stored in a directory that is Read Only, please check Disable Attribute Mapping in User Profile tab and follow steps given in Matching a User.



a. Finding correct attributes
  • Go to Configure IDP tab. 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, make the required settings in your IDP to return this information.
  • Once you see all the values in Test Configuration, keep the window open and go to User Profile tab.
b. Setting profile attributes
  • In this tab, 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
  • Setting up both Username and Email is required if you want to let users register. If you want existing users to the only login, configure the attribute using which you will match the user in Jira.
c. Matching a User
When the user logs into Jira, one of the user's data/attribute coming in from the IDP is used to search the user in Jira. This is used to detect the user in Jira and log in the user to the same account.
  • Go to User Profile tab
  • Select Username or Email for Login/Search Jira user account by
  • Enter the attribute name from IDP which corresponds to Username or Email using Finding Correct Attributes

Assigning groups to users

We will be setting up user group attributes for Jira. If your users are stored in a directory that is Read Only, please check Disable Group Mapping in User Groups tab and skip to Setting default group.


a. Finding Group Attribute
  • Just like we found Attribute Name for User Profile attributes, we find group attribute.
  • Go to Configure IDP tab. 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 with groups, make the required settings in your IDP to return group names.
  • Once you see all the values in Test Configuration, keep the window open and go to User Groups tab.
  • Enter the Attribute Name of group against Group Attribute
  • At the bottom of the page, all groups in Jira are shown. You can map groups in IDP which correspond to Jira groups. For example, if you want all users in dev-ops and dev groups in IDP to be added to crucible-users, you will need to enter dev-ops;dev against crucible-users
  • If you want user mapping to work for only limited groups in Jira, check the option Update User Groups

b. Setting default group
  • Select the users' Default Group in the tab User Groups. If no group is mapped, users are added by default to this group.
  • You can enable default groups for all users or only new users using the option Enable Default Groups for.

SSO Settings

The settings in SSO Settings tab define the user experience for Single Sign On.
a. Sign In Settings
  • Set Enable SSO for Jira Software to allow SSO for Jira Software users.
  • Set button text for button on login page using Login Button Text
  • Set redirect URL after login using Relay State. Keep this empty for coming back to the same page user started from
  • Enable Auto-redirect to IDP if you want to allow users to login only using IDP. Enable backdoor for emergency
  • Select Secure Admin Login Options to control admin access.

b. Service Desk SSO Settings
  • Set Enable SSO For ServiceDesk Customer Portal to allow SSO for Service Desk user.
  • Set Enable SSO Only For Agents to allow SSO only for specific set of users

c. Sign Out Settings
Set Logout URL or Logout Template to redirect users after logout action.

d. SSO Error Settings
Set error template to redirect users to a custom error page instead of login page. Use this if you have Auto-redirect to IDP enabled.