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:

  • OAuth2 Provider Endpunkt (z. B. Azure Active Directory v2)
  • 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 im creoline Kundencenter an und navigieren Sie zu dem GitLab-Server, für den Sie einen OmniAuth Anbieter aktivieren möchten. Wählen Sie die Registerkarte Konfigurationsdateien aus und klicken Sie anschließend auf Bearbeiten.


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


Sie können zum schnelleren Navigieren beim Editieren großer Konfigurationsdateien mit Ctrl + F (Windows) bzw. Command + F (MacOs) auch innerhalb der Konfigurationsdatei nach einem bestimmten Begriff o. ä. suchen.



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>",
    }
  }
]



Tragen Sie anschließend im Bereich Änderungsnachricht eine kurze Nachricht ein, weshalb die OmniAuth Einstellung geändert wurde und speichern Sie die Änderungen über die Schaltfläche Änderungen speichern.


Das Speichern der Konfiguration löst automatisch das Deployment der Konfiguration sowie den anschließenden Neustart von GitLab aus. Informieren Sie aktive Nutzer im Vorfeld über die geplante Maßnahme.


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 →