Closed AntonioGiovanniSchiavone closed 3 years ago
Ciao Giovanni, se fai il setup in locale sicuramente conseguirai i test. Com'è noto questa piattaforma è sconsigliata per la messa in produzione ma grazie comunque del feedback, tenterei con i colleghi in agid di capire quali problemi possano esserci con l'attuale configurazione del db
Prova a rimuovere encoding e standalone dall'intestazione dellxml, fai una prova e facci sapere
Grazie Antonio
Buongiorno Giuseppe,
Ho provato a modificare l'intestazione, ma la situazione non cambia.
Ho notato che oggi su un altro repository un altro utente ha evidenziato la stessa problematica, quindi credo sia un problema non limitato al mio caso, ma più generale.
Ciao Giovanni, sentiti libero di condividere qui il tuo metadata, faremo un riscontro con quello che ad oggi AgID carica su basedati e andremmo in due direzioni:
quello che ti succede è dovuto ad una validazione fallita del metadata, nello specifico guarda qui: https://github.com/italia/spid-testenv2/blob/a499c1b08763acb11373b6384fd1f5d89bda5ff8/testenv/utils.py#L88
e prova a fare questo
from lxml import objectify
objectify.fromstring(xmlstr_tuo_metadata)
di certo avrai modo di svelare questo arcano e se avessi voglia di fare una PR sappi che gli darei massima priorità. So che sei pythonista :)
a pre e grazie per l'effort
Buongiorno,
mi inserisco in questa issue poiché anche io sto riscontrando il medesimo problema sollevato da @AntonioGiovanniSchiavone. Il messaggio d'errore che ci perviene è il medesimo:
L'entity ID "https://test-peppol-smpw.regione.emilia-romagna.it" indicato nell'elemento <Issuer> non corrisponde a nessun Service Provider registrato in questo Identity Provider di test.
Allego in questa sede il metadata-signed.zip che abbiamo registrato sul database. Ho provato ad eliminare l'encoding, ad eliminare l'intero prologo XML, ma il problema persiste. Si tratta forse di un problema di altra natura?
Rimango a disposizione per approfondimenti. Auguro una buona giornata.
ciao @gozus19p
prova a seguire le istruzioni
from lxml import objectify
objectify.fromstring(xmlstr_tuo_metadata)
e di certo riuscirai a capire il problema. @damikael sarebbe utile fare questa validazione direttamente nel form di submission del metadata, così da offrire le informazioni di errore all'utente
Buongiorno, sto riscontrando lo stesso errore, pur utilizzando l'IDP di test
L'entity ID "https://spid.composingstudio.com" indicato nell'elemento
Potrei avere maggiori dettagli? Grazie
Carissimi, questo repository non riguarda la disponibilità o il funzionamento di un servizio in hosting da terze parti. Come è specificato nel Readme di questo progetto, questo progetto non è stato assolutamente pensato per la messa in produzione. In queste issues vogliamo raccogliere e collezionare le problematiche tecniche, pertanto vi chiedo gentilmente di dare seguito alle indicazioni già condivise per la diagnosi del problema e condividere le informazioni, le issue di questo repository vogliono essere esclusivamente di carattere tecnico, non è un ticket service per finalità terze.
Se fate il test che vi ho indicato e condividete l'errore state certi che avremo modo di analizzare insieme ai colleghi che si occupano dell'hosting quale possa essere la soluzione da adottare.
Sono problemi ben noti, e riguarderebbero la validazione in input in fase di sottomissione del metadata via web
@AlessandraB19 i metadata sono in formato file o su db? che errori leggi nel log (standard output su terminale) del tuo spid-testenv2?
@AlessandraB19 i metadata sono in formato file o su db? che errori leggi nel log (standard output su terminale) del tuo spid-testenv2?
Ho caricato i metadata sul db e infatti il mio SP è presente nell'elenco consultabile su http://idptest.spid.gov.it/ e questo è l'errore che vedo GET https://spid.composingstudio.com/myservice/spid-idp-dummy.svg 404 (Not Found)
@AlessandraB19 l'errore lo leggi nei logs di spidtestenv2. Se esegui via docker fai attach e leggerai lo stdout, con il messaggio di errore. Semplicemente: sta fallendo la validazione del matadata.
Cmq tra qualche oretta avrò le mani libere per finalizzare una validazione dei metadata in fase di sottomissione. Così da avere un messaggio umano e a schermo, a pre
Ciao Giovanni, sentiti libero di condividere qui il tuo metadata, faremo un riscontro con quello che ad oggi AgID carica su basedati e andremmo in due direzioni:
- copertura del caso d'uso con unit test lato spid-testenv2
- istruzione della problematica (da rendere nota) lato AgID
quello che ti succede è dovuto ad una validazione fallita del metadata, nello specifico guarda qui: https://github.com/italia/spid-testenv2/blob/a499c1b08763acb11373b6384fd1f5d89bda5ff8/testenv/utils.py#L88
e prova a fare questo
from lxml import objectify objectify.fromstring(xmlstr_tuo_metadata)
di certo avrai modo di svelare questo arcano e se avessi voglia di fare una PR sappi che gli darei massima priorità. So che sei pythonista :)
a pre e grazie per l'effort
Ciao Giuseppe, Il problema sembra essere concettualmente simile a quanto indicato nella issue 146, ma applicato al metadata invece che ai messaggi SAML. Seguendo il tuo suggerimento, ho scritto il segunte script Python:
from lxml import objectify
import urllib.request as ur
with open('metadata.xml', 'r' ) as file:
data = file.read()
objectify.fromstring(data)
Ottenendo l'errore:
ValueError: Unicode strings with encoding declaration are not supported. Please use bytes input or XML fragments without declaration.
Tuttavia, sostituendo l'ultima istruzione con
objectify.fromstring(data.encode())
Il metadata viene parsato correttamente.
Si potrebbe proporre quindi modificare l'idp per forzare l'encoding della stringa rappresentante il metadata, o meglio ancora, verificare la presenza di una dichiarazione di encoding e, nel caso, forzare l'encoding seconda tale dichiarazione.
@AntonioGiovanniSchiavone ottimo spunto a questa tua integrazione aggiungerei anche la validazione del form, così che in caso di errori gli utenti non debbano farsi script! :laughing:
Buongiorno,
Dopo aver caricato il metadata sul Database della versione on line dell'Idp di Test (https://idp.spid.gov.it/admin/databasesprecord/), e inviando una AuthnRequest verso tale Idp, si ottiene in risposta una pagina di errore con la dicitura
Specifico che ho verificato che l'entityID presente nella AuthnRequest fosse quello corretto e che il metadata è già stato preventivamente analizzato con SPID SAML Check, risultando valido anche nei confronti dell'avviso 29.
L'ipotesi è che, per motivi da chiarire, l'Idp non recuperi i metadata dal Database.