Buongiorno. Stiamo provando ad utilizzare il pacchetto SPID-PHP per un nostro applicativo esistente e lo troviamo molto facile da usare e veramente funzionale.
Purtroppo però siamo incappati in un problema. Il nostro applicativo usa una sessione PHP non standard. in pratica esegue:
session_name(“nv”);
session_start();
L’autenticazione SPID procede correttamente fino al quando l’utente acconsente alla trasmissione dei dati ma poi fallisce con errore:
SimpleSAML\Error\Error: UNHANDLEDEXCEPTION
Backtrace:
1 www/_include.php:17 (SimpleSAML_exception_handler)
0 [builtin] (N/A)
Caused by: Exception: State not found for id _e0bacd3fe3f1fb97a40293d985721fd5acb78427ea
Backtrace:
5 /var/lib/spid-php/setup/simplesamlphp/saml2/src/SAML2/Response.php:118 (SAML2\Response::__construct)
4 /var/lib/spid-php/setup/simplesamlphp/saml2/src/SAML2/Message.php:584 (SAML2\Message::fromXML)
3 /var/lib/spid-php/setup/simplesamlphp/saml2/src/SAML2/HTTPPost.php:98 (SAML2\HTTPPost::receive)
2 modules/saml/www/sp/saml2-acs.php:35 (require)
1 lib/SimpleSAML/Module.php:266 (SimpleSAML\Module::process)
0 www/module.php:10 (N/A)
Stiamo lavorando ancora con il sito DEMO. Se togliamo session_setname(…) funziona SPID ma non funziona più la nostra applicazione che ha bisogno di una sessione specifica (a meno di apportare modifiche importanti alla sua architettura).
C’è un modo, una API per passare il nome della sessione a SPID-PHP e di conseguenza a SAML?
Grazie.
Paolo Vergano