Mecanismos de LOGOUT específicos

En el caso de que la aplicación a proteger tenga su propio Cookie de sesión, puede ser necesario saltarse el mecanismo de logout del mod_papi (que sólo borra SU cookie "Lcook") y crear un nuevo mecanismo que borre, no sólo el Lcook, sino también los cookies de sesión del la aplicación.

Ejemplo: Aplicación con su propio Cookie de sesión - SYMPA

La aplicación de gestión de listas Sympa está prevista para su integración en un sistema SSO. Pero sólo para el login. No sabe llamar al SSO cuando se pulsa el botón de "desconexión" ni tiene un mecanismo compatible para hacer el "logout" desde el AS cuando éste llama a desconectar en todos los servidores.

Llamada a desconexión desde el AS

El AS de PAPI, para desconectar a un servidor (POA), inserta una imagen (un cuadrito verde) en su página de desconexión. Esta imagen reside en la zona protegida por PAPI en el servidor.

  • Nuestro servidor ejemplo tiene protegida por mod_papi el URL https://listillo.uv.es/sympa/sso_login/listillo.
  • En el AS, configuramos un URL de desconexión especial (el AS usa AUTHURI sólo para el logout):
    AUTHURI  https://listillo.uv.es/sympa/sso_login/listillo/fullout
    Este URL tiene que estar DENTRO del la zona (URL) protegido por el PAPI, para poder borrar el cookie Lcook que pone el mod_papi.
  • En "listillo", desde el Apache, redirigimos la llamada de desconexión a un script que vamos a crear (Generalmente, no funcionará el Alias ni el Redirect del apache: se hace primero el ScriptAlias):
    RewriteEngine On
    #RewriteLog /var/log/apache2/rewrite.log
    #RewriteLogLevel 10
    RewriteRule  ^/sympa/sso_login/listillo/fullout /cgi-bin/fullout [PT]
    
  • En "listillo", creamos en /usr/lib/cgi-bin/fullout el script de desconexión en PERL, que va a borrar dos cookies: el que pone la aplicación "Sympa" y el que pone el "mod_papi". Es un script muy sencillo, que se limita a volcar la imagen de desconexión del mod_papi (cuadradito verde), poniendo los cookies. Es críticofijarse en el "Path" y "Dominio" o "Host" de los cookies.

Ejemplo: script de desconexión en PHP

Para un caso similar al anterior (WordPress), éste es un script de desconexión en PHP, similar.

Universitat de Valencia

 PAPI-SSO (Single Sign On)