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
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.
Weiterführende Links
GitLab stellt in der offiziellen Dokumentation noch weitere Informationen bereit.