Error al hacer logout (SAML) tras una autenticación con forceAuth="true"

Descripción

Se detecta el bug como un fallo al realizar una operación de logout SAML, tras una autenticación con forceAuth="true", consistiendo el comportamiento erróneo en que se realizan dos llamadas de logout para el mismo SP.

Creemos que esto se debe a que si se ha realizado un acceso previo un SP X, y posteriormente se vuelve a realizar un acceso al mismo SP X, pero esta vez, solicitando que se fuerce la autenticación, entonces adAS gestiona mal el hecho de que ya había sesión para el SP X y lo añade de nuevo en la lista de SPs que tienen sesión para ser notificadas posteriormente en un logout.

Esto provoca que al hacer el logout, se envíe un primer mensaje de petición de logout al SP X, que todo vaya satisfactoriamente, y que posteriormente, se envíe otro mensaje de logout de nuevo al SP X, siendo este punto en el que el SP X devuelve un error al usuario (debido a que ya había cerrado la sesión y que por tanto no puede cerrar una sesión que no existe para ese usuario) cortando así el flujo del logout para el resto de SPs para los que aún no se han enviado los mensajes de logout.

El bug se ha detectado en el entorno de preproducción de ProxyCl@ve

Entorno

Preproducción de ProxyCl@ve

Cómo reproducirlo

Prerequisito: Un SP SAML que permita realizar autenticaciones solicitando que se fuerce la autenticación del usuario

a) Realizar un acceso (Correcto) a un SP SAML
b) Volver a realizar un acceso (correcto) a un SP SAML, pero esta vez solicitando que se fuerce la autenticación.
c) Realizar un logout desde el SP SAML.

Componentes

Responsable

Cándido Rodriguez

Informador

Daniel García

Versión propuesta

None

Versiones corregidas

None

Versiones afectadas

Prioridad

No procede
Configure