Redmine JOSSO Authentication Plugin

miércoles, 2 de febrero de 2011
Así es como se llama mi nuevo proyecto personal al que por fin he terminado de dar forma, intercalandose en el tiempo a la finalización de otro de mis plugins para Redmine, concretamente el de integración con Enterprise Architect. El objetivo de este plugin es poder gestionar el acceso a Redmine mediante un sistema de Single Sign-On (SSO), de tal forma que podamos reutilizar esa instancia de autenticación para acceder a otras aplicaciones donde se requieran credenciales de acceso. En esta ocasión he optado por hacer uso de JOSSO (Java Open Single Sign-On).

Tal y como anuncie ayer en mi Twitter, he llevado a cabo la liberación de este plugin en Github bajo licencia GNU GPL v2, asi como su publicación e indexación en el nuevo directorio de plugins oficiales de Redmine

El proceso de instalación del mismo es el habitual para otros plugins con la salvedad de que se requiere invocar a un pequeño script de inicialización que completa la gem josso-client para su correcto funcionamiento. A continuación, en función del entorno RAILS_ENV que se este usando para la instancia de Redmine sobre la que instalar el plugin, se llevara a cabo la configuración del mismo en el fichero config/josso_config.yml

1
2
3
4
5
6
7
8
9
development:
 enabled: true
 josso_root: http://localhost:8080/josso/
 partner_application_entry_url: http://localhost:81/redmine/login/
 session_timer: 1800
 josso_identity_manager: services/SSOIdentityManagerSoap
 josso_identity_provider: services/SSOIdentityProviderSoap
 josso_session_manager: services/SSOSessionManagerSoap
 josso_ws_timeout: 3000000

En este ejemplo podemos ver la configuración para el entorno de desarrollo, donde especificamos donde se encuentra la instancia de JOSSO sobre la que vamos a trabajar, asi como los puntos de acceso a los servicios web que nos proporciona, y la URL de Redmine sobre la que se va a realizar un punto de extension de su controlador para adaptarlo a nuestras necesidades.

En el siguiente video podeis ver un ejemplo del plugin en funcionamiento, en el cual se muestra como se gestiona el acceso de dos usuarios desde dos navegadores distintos, así como la gestión de permisos de estos dentro de Redmine una vez autenticados. 





Un par de detalles antes de concluir. Este plugin solo se ha centrado en la autenticación de los usuarios en Redmine, no en la gestión de los roles y/o permisos asociados de los mismos delegando esta responsabilidad totalmente a Redmine. Otra de las limitaciones es que no se posibilita por ahora la permutación de metodos de autenticación, así como el registro de nuevos usuarios, el cual no se sincroniza con los usuarios de JOSSO.  Por lo tanto, si queréis agregar nuevos usuarios tendréis que añadirlos también a JOSSO además de a Redmine. 


Compárteme en: Eskup Facebook Tuenti Meneame Bitacoras Google Yahoo Windows Live

2 comentarios:

  • Manuel Jesús Recena Soto

    Hola Ildefonso:

    Podrías comentar cómo surgió la idea ;) Precisamente en klicap estamos haciendo la misma integración adaptada a los plugins que hemos desarrollado para JOSSO.

    Un saludo

  • Ildefonso Montero

    Pues claro, como ya os dije os debo una reseña por aqui: http://twitter.com/imonteroperez/status/32874297341120512 asi que aprovecho y como "es de bien nacido ser siempre agradecido" pues aqui teneis: http://imonteroperez.blogspot.com/2011/02/una-tarde-en-klicap-da-para-mucho.html

  • Publicar un comentario