A partir de la versión 2.8.92, Semaphore admite la autenticación mediante OpenID. En este artículo, exploraremos cómo configurar Ansible Semaphore para autenticar usuarios a través de GitLab.
Configurar la autenticación mediante OpenID comienza por configurar el proveedor en sí, en nuestro caso, GitLab.
1. Crear una aplicación en GitLab
Para habilitar la autenticación a través de GitLab, necesitas crear una aplicación en la configuración de tu cuenta de GitLab.
- Ve a la sección Aplicaciones en la configuración de tu cuenta de GitLab: https://gitlab.com/-/profile/applications
- Rellena los campos requeridos:
- URL de redirección:
http://localhost:3000/api/auth/oidc/gitlab/redirect. - Alcances:
openid,profile,email. - Después de hacer clic en Guardar aplicación verás la siguiente pantalla:
- Copia y guarda la clave secreta en algún lugar (se necesitará para configurar Semaphore) y haz clic en Continuar.
- Aplicación lista.

2. Agrega la configuración de OpenID al archivo de configuración de Semaphore
Como sabes, la configuración de Semaphore se almacena en el archivo de configuración (normalmente config.json) en formato JSON.
Debemos añadir la siguiente configuración para que Semaphore sepa cómo usar GitLab como proveedor 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. Inicia Semaphore con autenticación OpenID/GitLab
Después de guardar los cambios en el archivo de configuración, inicia o reinicia Semaphore con los nuevos ajustes.
Verás un nuevo botón "GitLab" en la página de inicio de sesión de Semaphore.

