A partire dalla versione 2.8.92, Semaphore supporta l'autenticazione tramite OpenID. In questo articolo esploreremo 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, è necessario creare un'applicazione nelle impostazioni del proprio account GitLab.
- Vai alla sezione Applicazioni nelle impostazioni del tuo account GitLab: https://gitlab.com/-/profile/applications
- Compila i campi richiesti:
- URL di reindirizzamento:
http://localhost:3000/api/auth/oidc/gitlab/redirect
. - Scopes:
openid
,profile
,email
. - Dopo aver cliccato su Salva applicazione vedrai la seguente schermata:
- Copia e salva la chiave segreta da qualche parte (sarà necessaria per configurare Semaphore) e clicca su Continua.
- Applicazione pronta.


2. Aggiungi le impostazioni OpenID al file di configurazione di Semaphore
Come sai, le impostazioni di Semaphore sono memorizzate nel file di configurazione (di solito config.json
) in formato JSON.
Dobbiamo aggiungere le seguenti impostazioni affinché Semaphore sappia come utilizzare GitLab come provider OpenID:
"oidc_providers": {
"gitlab": {
"display_name": "GitLab",
"provider_url": "https://gitlab.com",
"client_id": "ID Applicazione",
"client_secret": "Segreto",
"redirect_url": "http://localhost:4000/api/auth/oidc/gitlab/redirect"
}
}
3. Avvia Semaphore con autenticazione OpenID/GitLab
Dopo aver salvato le modifiche nel file di configurazione, avvia o riavvia Semaphore con le nuove impostazioni.
Troverai un nuovo pulsante "GitLab" nella pagina di login di Semaphore.