Use Atlassian as an OAuth 2.0 authentication provider
DETAILS: Tier: Free, Premium, Ultimate Offering: Self-managed
To enable the Atlassian OmniAuth provider for passwordless authentication you must register an application with Atlassian.
Atlassian application registration
- Go to the Atlassian developer console and sign-in with the Atlassian account to administer the application.
- Select Create a new app.
- Choose an App Name, such as 'GitLab', and select Create.
- Note the
Client ID
andSecret
for the GitLab configuration steps. - On the left sidebar under APIS AND FEATURES, select OAuth 2.0 (3LO).
- Enter the GitLab callback URL using the format
https://gitlab.example.com/users/auth/atlassian_oauth2/callback
and select Save changes. - Select + Add in the left sidebar under APIS AND FEATURES.
- Select Add for Jira platform REST API and then Configure.
- Select Add next to the following scopes:
- View Jira issue data
- View user profiles
- Create and manage issues
GitLab configuration
-
On your GitLab server, open the configuration file:
For Linux package installations:
sudo editor /etc/gitlab/gitlab.rb
For self-compiled installations:
sudo -u git -H editor /home/git/gitlab/config/gitlab.yml
-
Configure the common settings to add
atlassian_oauth2
as a single sign-on provider. This enables Just-In-Time account provisioning for users who do not have an existing GitLab account. -
Add the provider configuration for Atlassian:
For Linux package installations:
gitlab_rails['omniauth_providers'] = [ { name: "atlassian_oauth2", # label: "Provider name", # optional label for login button, defaults to "Atlassian" app_id: "<your_client_id>", app_secret: "<your_client_secret>", args: { scope: "offline_access read:jira-user read:jira-work", prompt: "consent" } } ]
For self-compiled installations:
- { name: "atlassian_oauth2", # label: "Provider name", # optional label for login button, defaults to "Atlassian" app_id: "<your_client_id>", app_secret: "<your_client_secret>", args: { scope: "offline_access read:jira-user read:jira-work", prompt: "consent" } }
-
Change
<your_client_id>
and<your_client_secret>
to the Client credentials you received during application registration. -
Save the configuration file.
-
For the changes to take effect:
- If you installed using the Linux package, reconfigure GitLab.
- If you self-compiled your installation, restart GitLab.
On the sign-in page there should now be an Atlassian icon below the regular sign in form. Select the icon to begin the authentication process.
If everything goes right, the user is signed in to GitLab using their Atlassian credentials.