Atlassian Cloud OAuth Single Sign-On (SSO) Keycloak
Jira OAuth Single-Sign On(SSO) for Atlassian Cloud allows you to securely login using Keycloak credentials.
Single Sign-on (SSO) into your Atlassian
Access or Atlassian Jira Cloud Account with any of your existing OAuth Provider credentials for enhanced security
using our module.
You can refer the steps to configure Multiple IDPs and Domain Mapping in Atlassian Access from the video or
documentation given below
Pre-requisites
1. Atlassian Access Subscription
Atlassian Access is an additional subscription applied across the Atlassian cloud products like Jira
Software, Jira Service Management, Jira Work Management, Confluence, Bitbucket, etc. So it is needed for
Single Sign-On(SSO) or any Cloud Service which comes under Atlassian Access.
2. Domain Verification:
The first step of Atlassian Access starts with the Domain Verification Process to enforce SAML SSO on the
managed user accounts. This process verifies that you own a valid domain for managing the user accounts
and use the same domain name for the email addresses.
In this document, we will demonstrate the setup in two parts.
Part 1: Configure SAML SSO between Atlassian cloud as SP and miniOrange as IDP
Part 2: Configure SAML SSO between miniOrange as SP and Keycloak as IDP
Part 1 + Part 2 : Testing SSO between Atlassian cloud as SP and Keycloak as IDP
using miniOrange Identity Broker.
Go to Apps and click on the Add Application button.
In Choose Application Type click on Create App button in
SAML/WS-FED
application type.
Search for Atlassian Cloud (SAML) in the list.
Enter the following values in the respective fields, you will receive these values after
creating an app in Atlassian access. Refer this step.
Custom Application Name
Any name would be fine
SP Entity ID or Issuer
You will receive after configuring Atlassian Access App
ACS URL
You will receive after configuring Atlassian Access App
Also make sure that Sign Response & Sign Assertion both options are turned
ON. Then click on the Save button.
Once the App is successfully Created, Select that App and then click on Metadata option to
get app’s Metadata.
Since we are using miniOrange as a Brokering Service in this solution, Go to Information required to
authenticate via external idp section as highlighted, and Click on Show Metadata Details.
After clicking on the Show Metadata Details button you can see the metadata details.
You will need these details while configuring an Atlassian
Access app.
In the left sidebar hover on Users then click on
Users List
Click on Add User and enter details to enforce Single Sign On(SSO) on that user.
Make sure that the user created here will also exist in the Atlassian Cloud.
Select your organization and then select the Security tab. Click on SAML Single
Sign-On from the left sidebar.
You can click on Instructions for different Identity Providers. It provides a help page
for specific IDP and Attribute Names for Attribute Mapping.
Here you will get the SAML Configuration Instructions for different identity providers
as listed. Click on Got it.
Click on Add SAML Configuration.
You will be redirected to the Add SAML Configuration window. Enter IDP Entity
ID, SSO URL and the public certificate.
Click on the Save Configuration button.
You will get these details in the metadata details section after configuring the miniorange
app. Refer this step
Now you will be shown SP Entity ID & SP ACS URL as shown below.
These details will be needed in miniOrange app configuration.
Now set up the Authentication Policies by clicking on the View Authentication Policies.
Click on Add Policy.
Enter the policy name and add the policy.
Now under Single Sign-On, click on Enable Single Sign-On.
Then click on the Members tab besides the settings tab and click on Add
Members.
The Single Sign On(SSO) will work only for Added Members.
Enter details and click on Add Members.
The user must be present in both Atlassian and miniOrange.
Step 3. Test Atlassian Cloud - miniOrange
Configuration
Go to Atlassian Login Page.
Enter email and click on Continue. Then you will be redirected to miniOrange Login Page
After logging into miniOrange, you will be successfully logged into Atlassian Cloud Dashboard
Now, you will be able to Login to your Atlassian Dashboard using miniOrange Credentials.
If you
do not have any IDP, you can always go with miniOrange IDP.
From the left navigation bar, select Identity Provider.
You will get the callback URL here, keep it handy this would be required in next steps.
Create openid client : Login to your Keycloak server. Go to the Clients and click on Create
button. Enter client id and select openid-connect as client protocol and select Save.
Change Access type: After client is created change its access type to confidential.
Enter Valid Redirect URIs :
Copy the Callback URL from plugin and insert into Valid Redirect URIs field.
Click on SAVE.
Keycloak Group Mapper:
Now, if you want to fetch the user groups you will have to map the client and group membership.
For that, navigate to the Clients and select the client Id you created, then go to the Mappers tab
and click on Create.
Provide Name, select Mapper Type as Group Membership and enter the Token Claim Name i.e
attribute name corresponding to which the groups will be sent.
Turn off Full group path else group mapping will fail. And then click on Save.
Realm name: You need a realm name when you set up Keycloak as an OAuth provider, kindly copy it.
For example in this case it is Master
Get Client Secret: To get Client Secret Navigate to Clients, select Client Id and navigate to the
Credentials tab.