Home Page History


Integración de Redmine con solución de Single Sign On (SSO)


Redmine (redmine.org)

  • Aplicación web para gestión de proyectos.
  • Gestión de Tareas, Esfuerzo, Avance, etc.
  • Comunidad grande, aporte de muchos plugins.
  • Escrito en Ruby usando el framework web Ruby on Rails (RoR).
  • Open source, licencia GPL v2.

Redmine logo


IBM - Tivoli Federated Identity Manager (TFIM)

  • Provee SSO web y federado.
  • SSO Web:
    • Security Assertion Markup Language (SAML).
    • XML-Signature (Certificado SSL, firma digital)
  • Solución propietaria.

Solución

  • Redmine + Redmine SAML Auth plugin
  • ruby-saml (Biblioteca de Ruby)
  • TFIM (SSO Provider) Diagrama de la solución

Desarrollo

  • No hubo que modificar Redmine.
  • Se modificó el plugin Redmine SAML Auth.
  • Se modificó la biblioteca ruby-saml.
  • Se agrega una reescritura de URL a nivel de servidor web.

SPU


Plugin Redmine SAML Auth

  • Creado por OneLogin pero sin mantenimiento desde hace tiempo.
  • Se actualizó el plugin para que funcionara con nuevas versiones de RoR.
  • Se le agregaron nuevos settings para utilizar XML-Signature.
  • Se le agregó soporte para redirigir a la URL deseada luego de hacer login.
  • En total se modificaron 33 líneas de código (3 archivos).

Plugin code


Biblioteca ruby-saml

  • Creado también por OneLogin.
  • Se agrega soporte para XML-Signature.
  • En total se modificaron 52 líneas de código (2 archivos).

Code


Servidor web

  • Reescribir la URL de los pedidos de /login de Redmine hacia el login del plugin /auth/saml.
  • 1 línea de configuración:

Rewrite rule for NGINX


Roadmap

  • Definición del matcheo de identidad del usuario SSO con el usuario de Redmine.
  • Definición de creación o no de usuario cuando no existe en Redmine.
  • Documentación (90% completado).
  • Despliegue en testing (50% completado).
  • Despliegue en producción (0% completado).

Tour de france 2010


Muchas Gracias

  • git.agesic.gub.uy/agesic/redmine_saml_auth/
  • git.agesic.gub.uy/agesic/ruby-saml/

2014 - anibal.pacheco@agesic.gub.uy

AGESIC


Last edited by Anibal Pacheco