Fra version 2.8.92 understøtter Semaphore godkendelse via OpenID. I denne artikel vil vi udforske, hvordan du konfigurerer Ansible Semaphore til at godkende brugere via GitLab.

Konfiguration af godkendelse via OpenID starter med at opsætte selve udbyderen, i vores tilfælde GitLab.

1. Opret en applikation i GitLab

For at aktivere godkendelse via GitLab skal du oprette en applikation i dine GitLab-kontoindstillinger.

  1. Gå til sektionen Applikationer i indstillingerne for din GitLab-konto: https://gitlab.com/-/profile/applications
  2. Udfyld de påkrævede felter:
    • Redirect URL: http://localhost:3000/api/auth/oidc/gitlab/redirect.
    • Scopes: openid, profile, email.

    gitlab app create

  3. Når du klikker på Save application, ser du følgende skærmbillede:
  4. gitlab app config
  5. Kopiér og gem den hemmelige nøgle et sikkert sted (den skal bruges til at konfigurere Semaphore) og klik på Continue.
  6. Applikationen er klar.
  7. gitlab app list

2. Tilføj OpenID-indstillingerne til Semaphores konfigurationsfil

Som du ved, gemmes Semaphore-indstillinger i konfigurationsfilen (normalt config.json) i JSON-format.

Vi skal tilføje følgende indstillinger til den, så Semaphore ved, hvordan GitLab skal bruges som OpenID-udbyder:

"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. Start Semaphore med OpenID/GitLab-godkendelse

Når du har gemt ændringerne i konfigurationsfilen, skal du starte eller genstarte Semaphore med de nye indstillinger.

Du vil finde en ny "GitLab"-knap på Semaphore-login-siden.

semaphore login screen