En uno de mis proyectos uso un servidor externo SAML para autenticar a los usuarios, y ayer me escribieron diciendo que aunque metían los datos correctos en su página de autenticación al llegar a la web les aparecía un mensaje de “Información de estado perdida”.
Cuando esto sucede lo más habitual es que sea porque no se ha podido leer la cookie de la sesión. Ya me había pasado una vez debido a que los usuarios entraban en mi web por un dominio con www y el servidor SAML los redirigía a una página del dominio sin www y al no coincidir la ruta no podía leer la cookie.
Pero ayer el problema se debía a otra cosa, y es que estuve actualizando la versión de PHP y revisando el php.ini añadí la opción de que la cookie de sesión fuera segura, que no estaba activada. ¡Bam! En ese momento empezó a fallar, porque los parámetros de configuración de las cookies de sesión deben ser los mismos en el fichero php.ini y en el fichero config.php de SimpleSaml.
Una vez modifiqué en el fichero config.php de SimpleSaml el parámetro de cookie segura todo volvió a funcionar sin problema. Este error puede suceder también si por ejemplo se activa el nuevo parámetro de SameSite para las cookies de sesión en php.ini y no nos acordamos de hacerlo también en el fichero config.php de SimpleSaml.