OmniAuth Anbieter in GitLab einrichten

In diesem Artikel wird beschrieben, wie Sie verschiedene OAuth 2.0 Anbieter als OmniAuth Anbieter aktivieren. Damit können Sie sich mit Ihren OAuth 2.0 Anbieter-Anmeldedaten in Ihrer GitLab-Instanz anmelden.


Voraussetzungen:

  • Einen OAuth2 Provider Endpunkt (z.B. Azure Active Directory v2)
  • Einen self-hostet GitLab-Server
  • Root-Zugang zu Ihrem GitLab-Server
  • Angaben zu Google OAuth API Endpunkt
    • App ID
    • App Secret
  • Angaben zu Azure OAuth API Endpunkt
    • Client ID
    • Client Secret
    • Tenant ID



Anpassung der GitLab Konfiguration

Um einen OmniAuth Anbieter zu aktivieren, melden Sie sich zunächst per SSH auf Ihrem GitLab-Server an. Öffnen Sie die GitLab-Konfigurationsdatei in /etc/gitlab/gitlab.rb mit einem beliebigen Texteditor Ihrer Wahl.


Passen Sie jetzt folgende Einstellungen in der GitLab-Konfigurationsdatei entsprechend an.

gitlab_rails['omniauth_enabled'] = true
gitlab_rails['omniauth_block_auto_created_users'] = false
gitlab_rails['omniauth_auto_link_ldap_user'] = true


Google

Konfiguration für den Endpunkt Google OAuth v2

gitlab_rails['omniauth_providers'] = [
  {
    "name" => "google_oauth2",
    "label" => "Angezeigter Name für die Anmeldeschaltfläche",
    "args" => {
      "client_id" => "<App ID>",
      "client_secret" => "<App Secret>",
      "tenant_id" => "<Tenant ID>",
    }
  }
]


Microsoft Azure

Konfiguration für den Endpunkt Microsoft Azure OAuth v1

gitlab_rails['omniauth_allow_single_sign_on'] = ['azure_oauth2']
gitlab_rails['omniauth_sync_profile_from_provider'] = ['azure_oauth2']
gitlab_rails['omniauth_auto_link_user'] = ['azure_oauth2']

gitlab_rails['omniauth_providers'] = [
  {
    "name" => "azure_oauth2",
    "label" => "Angezeigter Name für die Anmeldeschaltfläche",
    "args" => {
      "client_id" => "<Client ID>",
      "client_secret" => "<Client Secret>",
      "tenant_id" => "<Tenant ID>",
    }
  }
]


Konfiguration für den Endpunkt Microsoft Azure OAuth v2

gitlab_rails['omniauth_allow_single_sign_on'] = ['azure_activedirectory_v2']
gitlab_rails['omniauth_sync_profile_from_provider'] = ['azure_activedirectory_v2']
gitlab_rails['omniauth_auto_link_user'] = ['azure_activedirectory_v2']

gitlab_rails['omniauth_providers'] = [
  {
    "name" => "azure_activedirectory_v2",
    "label" => "Angezeigter Name für die Anmeldeschaltfläche",
    "args" => {
      "client_id" => "<Client ID>",
      "client_secret" => "<Client Secret>",
      "tenant_id" => "<Tenant ID>",
    }
  }
]


Nachdem Sie die GitLab-Konfigurationsdatei entsprechend angepasst haben, führen Sie den Befehl gitlab-ctl reconfigure durch, um die Anpassungen in der GitLab-Konfiguration anzuwenden.


Nach dem erfolgreichen Anwenden der GitLab-Konfiguration wird die Schaltfläche zur Anmeldung per Microsoft Azure Zugangsdaten auf der Anmelde-Seite Ihrer GitLab-Instanz angezeigt. Beispiel Schaltfläche Microsoft Azure OAuth v2

Beispiel Schaltfläche Microsoft Azure OAuth v2



GitLab stellt in der offiziellen Dokumentation noch weitere Informationen bereit.

Zur GitLab Dokumentation →