A partir de la versión 2.8.92, Semaphore admite la autenticación a través de OpenID. En este artículo, exploraremos cómo configurar Ansible Semaphore para autenticar usuarios a través de GitLab.
La configuración de la autenticación a través de OpenID comienza con la configuración del 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 de Aplicaciones en la configuración de tu cuenta de GitLab: https://gitlab.com/-/profile/applications
- Completa 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 un lugar seguro (se necesitará para configurar Semaphore) y haz clic en Continuar.
- Aplicación lista.


2. Agregar 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 (generalmente config.json
) en formato JSON.
Necesitamos agregar la siguiente configuración para que Semaphore sepa cómo utilizar GitLab como un proveedor de OpenID:
"oidc_providers": {
"gitlab": {
"display_name": "GitLab",
"provider_url": "https://gitlab.com",
"client_id": "ID de la aplicación",
"client_secret": "Secreto",
"redirect_url": "http://localhost:4000/api/auth/oidc/gitlab/redirect"
}
}
3. Iniciar Semaphore con autenticación OpenID/GitLab
Después de haber guardado los cambios en el archivo de configuración, inicia o reinicia Semaphore con la nueva configuración.
Encontrarás un nuevo botón "GitLab" en la página de inicio de sesión de Semaphore.