SimpleSamlPhp: cómo resolver el error “Could not load state specified by InResponseTo: NOSTATE Processing response as unsolicited.”

Por algún motivo que desconozco si se usa como sistema de almacenamiento en SimpleSamlPhp el que viene por defecto, que son las sesiones de PHP, aparece de forma aleatoria y completamente impredecible este error.

No sé por qué sale, no sé por qué ha empezado a aparecer después de casi dos meses de tener el servicio de autenticación funcionando, no sé nada pero hazme caso, lector: si vas a usar alguna vez SimpleSamlPhp hazte un favor y crea una base de datos MySQL, y en el fichero config.php de SimpleSamlPhp usa estos valores:

'store.type' => 'sql',
'store.sql.dsn' => 'mysql:host=localhost;dbname=NOMBREDB',
'store.sql.username' => 'USUARIO',
'store.sql.password' => 'CONTRASEÑA',
'store.sql.prefix' => 'sso', // Vale cualquiera

Actualización del 27/02/2020: misteriosamente la solución que indico aquí me solucionó a mí el problema pero no a otros usuarios del sistema. Lo que finalmente arregló la situación fue modificar los nombres por defecto de las cookies en el fichero config.php:

'session.phpsession.cookiename' => 'NOMBRE_PROPIO',
'session.authtoken.cookiename' => 'OTRO_NOMBRE_PROPIO',

One thought on “SimpleSamlPhp: cómo resolver el error “Could not load state specified by InResponseTo: NOSTATE Processing response as unsolicited.””

  1. Años después, este post me ha sido súper-útil! Tenemos una aplicación bastante compleja y que le mete bastante carga a los sistemas, y uno de nuestros clientes utiliza SimpleSAMLPHP para hacer Single Sign On con su directorio. El caso es que recientemente cambiamos el sistema de almacenamiento de sesiones PHP del sistema de ficheros por defecto a memcache, y en general funciona mucho mejor y nos ha resuelto un problema de rendimiento importante, pero el Single Sign On se rompió. Ni siquiera sabía que SimpleSAMLPHP utiliza sesiones para su almacenamiento interno. Lo he cambiado a base de datos siguiendo tus indicaciones, y problema resuelto!

    Por supuesto, en parte pongo todo este rollo porque me apetecía contar mi batallita 😛 pero en parte, a lo mejor es útil para alguien que tenga un problema similar. Muchas gracias por el post!

Leave a Reply

Your email address will not be published. Required fields are marked *

Time limit is exhausted. Please reload CAPTCHA.

This site uses Akismet to reduce spam. Learn how your comment data is processed.