A partire dalla versione 2.8.92, Semaphore supporta l'autenticazione tramite OpenID. In questo articolo vedremo come configurare Ansible Semaphore per autenticare gli utenti tramite GitLab.
La configurazione dell'autenticazione tramite OpenID inizia con la configurazione del provider stesso, nel nostro caso GitLab.
1. Crea un'applicazione in GitLab
Per abilitare l'autenticazione tramite GitLab, devi creare un'applicazione nelle impostazioni del tuo account GitLab.
- Vai alla sezione Applications nelle impostazioni del tuo account GitLab: https://gitlab.com/-/profile/applications
- Compila i campi richiesti:
- Redirect URL:
http://localhost:3000/api/auth/oidc/gitlab/redirect
. - Scopes:
openid
,profile
,email
. - Dopo aver cliccato su Save application vedrai la seguente schermata:
- Copia e salva la chiave segreta da qualche parte (ti servirà per configurare Semaphore) e clicca su Continue.
- Applicazione pronta.


2. Aggiungi le impostazioni OpenID al file di configurazione di Semaphore
Come saprai, le impostazioni di Semaphore sono memorizzate nel file di configurazione (di solito config.json
) in formato JSON.
Dobbiamo aggiungere le seguenti impostazioni in modo che Semaphore sappia come utilizzare GitLab come provider OpenID:
"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. Avvia Semaphore con l'autenticazione OpenID/GitLab
Dopo aver salvato le modifiche nel file di configurazione, avvia o riavvia Semaphore con le nuove impostazioni.
Nella pagina di login di Semaphore troverai un nuovo pulsante "GitLab".