Validazione Response

Salve io ho un problema che non riesco a risolvere ormai da giorni.
Vado a effettuare la validazione della request cliccando su “invia Response al server provider” e ottengo sempre questo errore:
State not found for id _bd0d0d34f778daa05a0a270dbbafb40152de5aecd6
Non riesco a interecettare l’errore e come andare avanti

Ora pensavo di aver fatto tutto bene e mi restituisce questo:

Could not find the metadata of an IdP with entity ID 'http://localhost:8080

Buongiorno @Simone_Scala,
a quanto sembra il tuo SP non riesce a recuperare il metadata dell’IdP Validator.
stai utilizzando un sdk/libreria in particolare?

Salve,
io utilizzo questa libreria: https://github.com/italia/spid-php
Dopo aver installato “composer install” effettuo la configurazione e tutto va a buon fine.
Vado a vedere cosa mi restituisce il validator e non trovo problemi.
Nel momento che vado a fare “Invia Response al Service Provider” ora trovo questo 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 _f259c21c1e037e06436d7a1566805c046464decfe4
Backtrace:
5 /opt/spid-php/setup/simplesamlphp/saml2/src/SAML2/Response.php:118 (SAML2\Response::__construct)
4 /opt/spid-php/setup/simplesamlphp/saml2/src/SAML2/Message.php:584 (SAML2\Message::fromXML)
3 /opt/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)

versione di simplesalm 1.19.1

Buongiorno @Simone_Scala,
tale problema, legato alla specifica implementazione di SPID con simpleSAMLphp, può verificarsi in caso di perdita della sessione sul Service Provider.
Ti consiglio di verificare il problema in relazione a quanto indicato per simpleSAMLphp:

Salve,
anch’io utilizzo la libreria https://github.com/italia/spid-php ma riscontro altri problemi.
Sfruttando lo script “login-spid.php” che mi genera il pulsante “Entra con SPID”, non riesco a raggiungere il validator che, da quello che leggo nel
codice della libreria, dovrebbe essere “https://validator.spid.gov.it”.
In accordo con quanto scritto in questa discussione (https://forum.italia.it/t/https-idptest-spid-gov-it-vs-spid-validator/20903), vorrei configurare la libreria
spid-php per effettuare i vari test con lo “SPID SAML Check” installato sulla mia macchina in locale, ma non ho ben capito come fare.
Quali file devo modificare?
Come faccio a configurare lo SPID Validator alla stessa maniera di un IdP nella libreria dato che essi sono configurati durante il processo di installazione lanciato
tramite composer e che scarica i metadata degli IDP di produzione tramite il metadata unico di configurazione (https://registry.spid.gov.it/metadata/idp/spid-entities-idps.xml)?

Grazie per la disponibilità.

Distinti Saluti

Alessandro

Salve @alepap ,
durante l’installazione di spid-php è possibile selezionare se lo script deve occuparsi di configurare automaticamente il collegamento al Validator. In tal caso, al termine dell’installazione nel pulsante “Entra con SPID” il link al Validator sarà presente come ultimo collegamento.
Se riscontri problemi a raggiungere il Validator, è anche possibile che questo sia offline. Puoi eventualmente verificarlo collegandoti direttamente su https://validator.spid.gov.it, dovresti vedere una interfaccia AgID Login per l’accesso sul Validator riservato al team di AgID.

Michele D’Amico

Buongiorno Michele,
grazie per la risposta tempestiva. Il link al Validator è presente ma cliccandoci raggiungo questo link mentre io mi aspettavo di raggiungere un ambiente come questo (https://www.spid-validator.it/#/login) . Anzi, per essere precisi, nella barra degli indirizzi del browser appare momentaneamente “https://validator.spid.gov.it/” ma poi si verifica un redirect. Quale errore commetto?
GRAZIE ancora per la disponibilità.
Alessandro

Buongiorno @alepap ,
nessun errore, il Validator online esposto all’indirizzo https://validator.spid.gov.it , come ti scrivevo, è riservato ad utenti interni AgID e l’utilizzo pertanto è protetto dall’autenticazione con il sistema AgID Login.
Tuttavia il codice del Validator online è lo stesso disponibile al repository ufficiale
GitHub - italia/spid-saml-check: Tool di verifica implementazione SPID SAML
che puoi installare localmente.
Il link sul pulsante è richiesto in fase di collaudo per consentire ad AgID di eseguire le verifiche sull’implementazione. Per utilizzare una istanza personale del Validator puoi indicare il metadata ad una istanza diversa del Validator o di altro IdP di test in fase di installazione dello script.

Michele D’Amico

Buongiorno Michele, anch’io riscontro lo stesso problema segnalato da @Simone_Scala. Ho seguito le indicazioni in merito al Debugging “State Information Lost” errors ma non ho risolto nulla. Successivamente ho scelto come metodo di storage delle sessione la modalità “sql”, configurando la connessione con un database disponibile. La libreria genera due tabelle, inserisce i dei record e quindi sono certo che la connessione funziona. Purtroppo il problema persiste, ho controllato il file di log generato da simplesaml, e mi trovo i vari step:

Saved state: ‘_cc7994e8c2bbd73419cc4f76729a971df81e9f160f’
Loading state: ‘_cc7994e8c2bbd73419cc4f76729a971df81e9f160f’
Exception: State not found for id _cc7994e8c2bbd73419cc4f76729a971df81e9f160f

Nel caso in esame, id sessione="_cc7994e8c2bbd73419cc4f76729a971df81e9f160f"

P.S: uso la seguente versione del validator: https://www.spid-validator.it/

Da cosa può dipendere?
Grazie per la disponibilità.
Alessandro

Buongiorno @alepap,
che versione di spid-php stai utilizzando?

Buongiorno Michele,
“version”: “3.7”
Se può esserle utile per identificare la versione su cui sto lavorando, segnalo che ho avuto problemi anche con le datee. L’eccezione sollevata era:
Invalid SAML2 timestamp passed to xsDateTimeToTimestamp: 2021-05-28T10:03:08+02:00
L’ho risolta modificando il codice php che si trova nel percorso ‘…vendor/simplesamlphp/saml2/src/SAML2/Utils.php:699’, anche se questa operazione non rappresenta di certo una Best Practice
Grazie
Alessandro

Consiglio di aggiornare all’ultima release:

Fammi sapere se il problema viene ancora riscontrato.
Grazie

Buongiorno @damikael,
ho installato la libreria aggiornata ma riscontro ancora diversi problemi.
La prima differenza riguarda il recupero dei metadati; in questo caso, per visualizzare il file xml che trovo all’url … /myservice/module.php/saml/sp/metadata.php/service, mi richiede la password scelta durante lo script d’installazione. Questo aspetto credo che crei dei problemi anche in fase di validazione dei metadati. Infatti, quando vado a fare le verifiche ricevo un alert “Please download metadata first”; se inserisco l’url dei metadati nell’area “Download” si genera un popup con errore “HTTP request sent, awaiting response… 302 Moved Temporarily Location:”.

Per quanto riguarda la fase di “Check Response” l’errore è riportato nello screen seguente.

Inoltre vengono generate una serie di eccezioni.

1-Exception: Invalid SAML2 timestamp passed to xsDateTimeToTimestamp: 2021-06-03T12:40:58+02:00 (risolvo se modifico il file nella libreria oppure se cambio il formato delle date nei vari campi come IssueInstant, NotOnOrAfter, AuthnIstant…)

2-Exception: Missing Conditions on Assertion
al file …setup/simplesamlphp/saml2/src/SAML2/Response.php:86 (disattivo temporaneamente i controlli presenti nel file Response.php)

3-Exception: State not found for id… che è l’errore commentato nel post precedente…

GRAZIE ancora per la disponibilità.
Alessandro

Nelle ultime versioni l’endpoint per il download del metadata non è più protetto da password e sono state inserite ulteriori configurazioni per SimpleSAMLphp che risolvono il problema relativo all’errore “state not found”.

Buona sera,
sto usando https://www.spid-validator.it/. Nessun problema con Metadata SP e Request: tutto positivo.
Response- Check responsive problemi .

  1. Response corretta a DX leggo Descrizione e risultato atteso
    Response corretta. Risultato atteso: Ok
    Clicco su Invia response al Service Provider. Raggiungo il sito, ma leggo
    Errore SAML nella risposta del gestore identità SPID
    Response - Formato IssueInstant non corretto
    Ho provato con metadata già validati: Spid funzionante.
    Purtroppo, però la risposta è esattamente uguale
    Errore SAML nella risposta del gestore identità SPID
    Response - Formato IssueInstant non corretto
    Tutte le richieste di validazione inoltrate a settembre hanno avuto esito positivo, quanto richiesto ad ottobre NO. Eppure siti uguali, metadata con stessa struttura, … e tutti i metadata, già validati o no in Response segnalano per 01. Response corretta lo stesso problema. Non capisco. Cosa sbaglio? Potete aiutarmi a capire?
  1. l’IssueInstant non ha nulla a che vedere con il metadata. E’ un elemento presente nell’AuthnRequest e nella Response/assertion.

  2. Il formato dell’IssueInstant deve essere quello indicato nelle regole tecniche

  3. L’orario deve essere espresso in UTC

Grazie per la risposta. Noi infatti abbiamo indicato
setAttribute(‘IssueInstant’, gmdate(“Y-m-d\TH:i:s\Z”));

Ora se in spid validator dove IssueInstant cambio 2021-10-06T15:26:04+02:00 in 2021-10-06T13:26:04Z e così anche in NotOnOrAfter
Ho esito positivo. Davvero non capisco.

Buonasera @Nadia_Caprotti ,
ti consiglio di verificare con gli ambienti demo e validator pubblici ufficiali, rispettivamente:

https://demo.spid.gov.it
il cui metadata è scaricabile da
https://demo.spid.gov.it/metadata.xml

e

https://demo.spid.gov.it/validator
il cui metadata è scaricabile da
https://demo.spid.gov.it/validator/metadata.xml

Michele D’Amico (damikael)

Ringrazio per la risposta.
Il metadata è la prima cosa che abbiamo aggiornato.
Abbiamo testato con
https://demo.spid.gov.it che però non controlla Response
ma anche con
www.spid-validator.it più articolato.
Tutto è verde eccetto 4 voci in Response.
in Response 01… vedo un problema legato al formato data. “IssueInstant”
Noi abbiamo formato UTC come richiesto da specifiche AgID, ma il validatore legge altro, tanto che se intervengo e correggo nella colonna di dx di https://www.spid-validator.it/ con Z la risposta è OK.
Quello che non mi spiego è che le domande di validazione delle scuole con CMS Drupal PASW sino a circa 10 gg fa sono state tutte validate e ora no, nonostante non siano state apportate modifiche al modulo MicrospidPASW. Le scuole con SPID non sono poche, lo SPID funziona e viene usato. Il modulo Drupal vjene sempre regolarmente aggiornato alle richieste AgID.
Ma… Noi abbiamo ricontrollato e validato e rivalidato, ma…
Davvero non capisco. Come uscirne? Suggerimenti sono più che ben accetti. Grazie tantissimo