Use Atlassian Crowd as an authentication provider

Tier: Free, Premium, Ultimate Offering: Self-managed

Authenticate to GitLab using the Atlassian Crowd OmniAuth provider. Enabling this provider also allows Crowd authentication for Git-over-https requests.

Configure a new Crowd application

  1. Choose ‘Applications’ in the top menu, then ‘Add application’.
  2. Go through the ‘Add application’ steps, entering the appropriate details. The screenshot below shows an example configuration.

    Final confirmation page in Crowd for application configuration

Configure GitLab

  1. On your GitLab server, open the configuration file.

    • Linux package installations:

        sudo editor /etc/gitlab/gitlab.rb
      
    • Self-compiled installations:

        cd /home/git/gitlab
      
        sudo -u git -H editor config/gitlab.yml
      
  2. Configure the common settings to add crowd as a single sign-on provider. This enables Just-In-Time account provisioning for users who do not have an existing GitLab account.

  3. Add the provider configuration:

    • Linux package installations:

        gitlab_rails['omniauth_providers'] = [
          {
            name: "crowd",
            args: {
              crowd_server_url: "CROWD_SERVER_URL",
              application_name: "YOUR_APP_NAME",
              application_password: "YOUR_APP_PASSWORD"
            }
          }
        ]
      
    • Self-compiled installations:

         - { name: 'crowd',
             args: {
               crowd_server_url: 'CROWD_SERVER_URL',
               application_name: 'YOUR_APP_NAME',
               application_password: 'YOUR_APP_PASSWORD' } }
      
  4. Change CROWD_SERVER_URL to the base URL of your Crowd server.
  5. Change YOUR_APP_NAME to the application name from Crowd applications page.
  6. Change YOUR_APP_PASSWORD to the application password you’ve set.
  7. Save the configuration file.
  8. Reconfigure (Linux package installations) or restart (self-compiled installations) for the changes to take effect.

On the sign in page there should now be a Crowd tab in the sign in form.

Troubleshooting

Error: “could not authorize you from Crowd because invalid credentials”

This error sometimes occurs when a user attempts to authenticate with Crowd. The Crowd administrator should consult the Crowd log file to know the exact cause of this error message.

Ensure the Crowd users who must sign in to GitLab are authorized to the application in the Authorization step. This could be verified by trying “Authentication test” for Crowd (as of 2.11).

Authorization stage settings in Crowd