italia / spid-php-lib

PHP package for SPID authentication
BSD 3-Clause "New" or "Revised" License
29 stars 37 forks source link

RelayState must not be immediately intellegible #127

Open StefanoDevPro opened 3 years ago

StefanoDevPro commented 3 years ago

Buongiorno a tutti, sto utilizzando la libreria spid-php-lib per lo sviluppo di Spid, ho un problema sulla risoluzione dell'errore riguardante il relayState: RelayState must not be immediately intellegible. Potrei avere delle indicazioni su come risolverlo?

Grazie in anticipo

StefanoDevPro commented 3 years ago

Nessuno è disponibile per la risoluzione di questo problema?

umigliore commented 3 years ago

Che parametro passi nel RelayState? dovresti mettere un identificativo non troppo in chiaro. Dice la documentazione tecnica: "Il Service Provider a tutela della privacy dell’utente nell’utilizzare questo parametro deve mettere in atto accorgimenti tali da rendere minima l’evidenza possibile sulla natura o tipologia della risorsa (servizio) richiesta"

lorello commented 3 years ago

Noi abbiamo fatto un base64_encode del valore, lo abbiamo fatto nel nostro proxy di autenticazione, senza modificare la libreria.

StefanoDevPro commented 3 years ago

Grazie, del suggerimento @lorello ho codificato anche io il base64, ora il test è superato.

Grazie

donatissimo commented 3 years ago

perché invece di fare base64_encode che è comunque intellegibile, non si fa un md5 del RelayState?

umigliore commented 3 years ago

perché invece di fare base64_encode che è comunque intellegibile, non si fa un md5 del RelayState?

Il RelayState serve come valore per identificare la risposta, quindi si potrebbe usare anche un hash o anche un numero random (tipo otp) posto che sul tuo server hai modo di identificare facilmente a cosa si riferiva.

donatissimo commented 3 years ago

sì, è un valore opaco, dovrebbe funzionare come il bearer token di OAuth2. io adesso ci metto una stringa casuale però poi controllo che l'IDP mi ritorni lo stesso valore. Per farlo ho dovuto aggiungere del codice in spid-php-lib perché a prima vista non ho trovato controlli sul RelayState mandato indietro

lussoluca commented 2 years ago

@donatissimo è codice che potrebbe essere incluso nella libreria? Puoi condividerlo? Se si, potresti aprire una MR? Grazie!