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.

  1. Ve a la sección de Aplicaciones en la configuración de tu cuenta de GitLab: https://gitlab.com/-/profile/applications
  2. Completa los campos requeridos:
    • URL de redirección: http://localhost:3000/api/auth/oidc/gitlab/redirect.
    • Alcances: openid, profile, email.

    crear aplicación gitlab

  3. Después de hacer clic en Guardar aplicación, verás la siguiente pantalla:
  4. configuración de aplicación gitlab
  5. Copia y guarda la clave secreta en un lugar seguro (se necesitará para configurar Semaphore) y haz clic en Continuar.
  6. Aplicación lista.
  7. lista de aplicaciones gitlab

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.

pantalla de inicio de sesión de semaphore