Ab Version 2.8.92 unterstützt Semaphore die Authentifizierung über OpenID. In diesem Artikel erklären wir, wie man Ansible Semaphore so einrichtet, dass Benutzer sich über GitLab authentifizieren.

Die Konfiguration der Authentifizierung über OpenID beginnt mit der Einrichtung des Providers selbst, in unserem Fall GitLab.

1. Erstellen einer Anwendung in GitLab

Um die Authentifizierung über GitLab zu ermöglichen, müssen Sie eine Anwendung in den Einstellungen Ihres GitLab-Kontos erstellen.

  1. Gehen Sie zum Bereich Anwendungen in den Einstellungen Ihres GitLab-Kontos: https://gitlab.com/-/profile/applications
  2. Füllen Sie die erforderlichen Felder aus:
    • Redirect-URL: http://localhost:3000/api/auth/oidc/gitlab/redirect.
    • Scopes: openid, profile, email.

    GitLab Anwendung erstellen

  3. Nachdem Sie auf Save application geklickt haben, sehen Sie folgenden Bildschirm:
  4. GitLab App-Konfiguration
  5. Kopieren und speichern Sie den Secret-Key an einem sicheren Ort (er wird zur Konfiguration von Semaphore benötigt) und klicken Sie auf Continue.
  6. Anwendung ist bereit.
  7. GitLab Anwendungsübersicht

2. Fügen Sie die OpenID-Einstellungen zur Konfigurationsdatei von Semaphore hinzu

Wie Sie wissen, werden die Einstellungen von Semaphore in der Konfigurationsdatei (normalerweise config.json) im JSON-Format gespeichert.

Wir müssen folgende Einstellungen hinzufügen, damit Semaphore weiß, wie GitLab als OpenID-Provider verwendet werden soll:

"oidc_providers": {
   "gitlab": {
       "display_name": "GitLab",
       "provider_url": "https://gitlab.com",
       "client_id": "Application ID",
       "client_secret": "Secret",
       "redirect_url": "http://localhost:4000/api/auth/oidc/gitlab/redirect"
   }
}

3. Starten Sie Semaphore mit OpenID/GitLab-Authentifizierung

Nachdem Sie die Änderungen in der Konfigurationsdatei gespeichert haben, starten Sie Semaphore mit den neuen Einstellungen neu (oder führen Sie einen Neustart durch).

Auf der Anmeldeseite von Semaphore finden Sie einen neuen GitLab-Button.

Semaphore Anmeldebildschirm