Validazione Response ambiente Demo

Ciao a tutti!
Attraverso le librerie .NET per SPID ho realizzato un progetto per l’autenticazione con SPID.

Per testare l’implementazione ho quindi utilizzato [spid-saml-check] validando con successo sia il metada registrato che la request.

Adesso vorrei testare la response ma non ho capito bene come muovermi con l’ambiente Demo. Quello che ho capito è che la response è la risposta che l’IdP invia al SP (cioè io) pertanto devo fornire un URL sul quale ricevere tale risposta.
L’ambiente Demo mette a disposizione una URL per fare ciò (Ossia sulla indirizzare le response)? Oppure devo essere io a creare una pagina apposita? Se si come dovrebbe essere creata questa pagina?

Premetto che al momento tutto gira sul mio webserver locale, non c’è ancora nulla in produzione.

Grazie.

Nel metadata avrai definito uno o più elementi AssertionConsumerService, ognuno con associata un Location ed un index.
Nella Request avrai indicato una AssertionConsumerService tramite l’attributo AssertionConsumerServiceIndex ( ad es. AssertionConsumerService = 2).

La Response è inviata alla url definita nel metadata come Location dell’elemento AssertionConsumerService avente l’indice specificato nella AuthnRequest (nel nostro esempio AssertionConsumerService avente l’indice = 2).

L’ambiente Demo presuppone che tu abbia già pubblicato metadata e SP su delle url accedibili via web.

Puoi fare dei test in locale tramite il tool spid-sp-test.

Se hai problemi sul canale Slack di DevelopersItalia puoi chiedere direttamente agli sviluppatori del citato tool.

Grazie mille Antonio anche per la chiarezza della tua risposta. Si effettivamente mi ritrovo con quanto detto tu e nel mio metadata ho definito due indirizzi ed avevo immaginato che si trattasse proprio di questi.
Proverò ad usare spid-sp-test così da verificare tutto il processo di autenticazione.
Grazie.

Ciao @AGS,
credo proprio che mi stia sfuggendo qualcosa in merito alla Response dell’ambiente Demo (a differenza di prima ho una pagina accessibile al web).

Ipotizziamo che attraverso SPID Validator voglia analizzare il caso 09 (ID mancante), quindi seleziono la scelta dal menu a tendina, rimuovo il relativo campo nel menu laterale dx ed infine clicco sul pulsante “Invia response al Service Provider”.
In questo caso ottengo sulla mia pagina una response SAML sempre identica a quella che mi presenta già il validator.
Quale sarebbe l’obiettivo del test, quindi? Dovrei testare che la mia pagina web che espongo comunichi questo errore?

PS: Se ometto l’ID nella mia request le librerie dell’sdk .net non mi consentono di andare avanti nella procedura di invio della request stessa proprio perchè viene subito trovato l’errore e non viene mai mandato nulla all’IdP.

AgID si aspetta che le piattaforme dei vari SP siano resilienti ad eventuali errori.
Nello specifico, se viene ricevuta una Response che non è conforme alle regole tecniche (nel caso del test 09, una Response priva dell’attributo ID), l’SP deve rifiutare (ovvero non utilizzare) la Response e mostrare quindi un generico messaggio di errore all’utente.

Caso particolare sono invece i test 104-108 e 111 dove la response è tecnicamente corretta, ma riporta un errore derivante da una cattiva interazione dell’Utente con l’IDP (ad es. nella 106 l’utente non ha inserito le credenziali entro l’iintervallo di tempo previsto, scatenando un timeout ).
In questo caso il messaggio di errore da riportare è quello indicato nella Tabella delle Anomalie SPID

2 Mi Piace

Ciao a tutti
volevo anche io delucidazioni in merito alla questione
ho realizzato un progetto in .net6.0 che implementa l’autenticazione con SPID, per farlo ho seguito le SDK .NET CORE
Poi dopo aver rilasciato il tutto su un ambiente di produzione e aver testato request/response tramite lo SPID Validator abbiamo richiesto accreditamento ad Agid che ci ha risposto dicendoci che le response tornavano tutte errore, a seguito della segnalazione abbiamo eseguito i test tramite spid-saml-check, questi test ci restituiscono errore sulle request che dovrebbero tornare OK nonostante riusciamo a loggarci con le informazioni che arrivano dal validator
ma non sappiamo come risolvere questi errori, avete qualche consiglio in merito?

Grazie mille