INTEGRACIÓN DE APLICACIONES con el SSO de la UV

Integración, posibilidades

Hay muchas maneras de conseguir la integración con nuestro SSO al desarrollar una aplicación.

  1. [la que recomendamos] La aplicación se desarrolla usando autenticación básica y se le pone delante un Apache (como proxy o directamente el que sirve la aplicación) con el módulo de autenticación deseado. La aplicación toma el usuario y no comprueba la contraseña, puesto que el Apache ya ha validado al usuario.

    Es lo mejor, puesto que es la solución más probada y que permite cambiar muy sencillamente el módulo Apache de autenticación usado y la autenticación no necesita integrarse en la aplicación.

    Los módulos de autenticación Apache soportados son CAS (mod_cas) PAPI (mod_papi) y SAML (mod_mellon). El que más usamos es PAPI. El SAML es mucho más complejo. El CAS requiere además algún "truquillo" en el Apache+cgi.

  2. Usar algún módulo de autenticación "integrado en la aplicación" (librería PHP, Java,...). Ya no hay librerías PAPI bien soportadas. En PHP el módulo SimpleSAMLphp se integra perfectamente. En Java las librerías SAML nos están dado toda clase de problemas; el CAS en Java, también con un "truquillo" debería funcionar bien. Otros lenguajes, no los hemos probado.

Integración, protocolos soportados

Como se deduce a partir de lo anterior, los protocolos soportados son CAS, PAPI, SAML.

Integración, imprescindible LOGOUT

Y hay una condición "sine qua non" para admitir una aplicación en nuestro SSO: DEBE FUNCIONAR EL LOGOUT.

En mod_papi está garantizado, en CAS suele ser necesario añadir un pequeño script (punto de entrada) que desconecta la aplicación y muestre una imagen; En SAML si el módulo es compatible (SimpleSAMLphp,...?) funciona sin más, pero sino puede ser muy complicado de conseguir: en SAML debe estar totalmente soportado el "IDP initiated logout" y el "SP initiated logout" y aún así no suele ser trivial.

Eso obliga -además- a que haya una manera de poder configurar el URL al que se envía después de pulsar el "logout" de la aplicación (salvo que en el caso de un módulo SAML que se soporte bien el "SP initiated logout").

Observar que lo que más probado está es cuando la aplicación reside en una máquina del dominio "uv.es"; fuera de este dominio pueden aparecer problemas con el logout por los cookies de terceros y puede que también haya que hacer "trucos".

Universitat de Valencia

 PAPI-SSO (Single Sign On)