Problema con PosteId

Salve a tutti,
approfitto del problema che ho per entrare nel forum e poter dare il mio contributo, difatti ho già fatto ricorso all’help desk che solitamente è stato molto celere, ma nell’ultima settimana un pò meno.
Ho prodotto e validato un metadata.xml e sto facendo una richiesta d autenticazione tramite “AuthnRequest con redirect” a Poste e Tim. Solo Tim però mi fa accedere alla pagina di login mentre poste mi risponde con l’errore numero 08, piuttosto generico soprattutto per il fatto che
la richiesta dovrebbe essere formalmente corretta.

saml2p:Status<saml2p:StatusCode Value=“urn:oasis:names:tc:SAML:2.0:status:Requester”/>saml2p:StatusMessageErrorCode nr08</saml2p:StatusMessage></saml2p:Status>

ovviamente ho solo un account di poste per vedere se finalmente riesco a chiudere il cerchio!

Ho letto del problema degli orari, ho fatto girare il servizio ntp, ma nessun risultato.
I certificati sp vanno bene autogenerati? (Tim li prende!)
Nell’ambiente di test riesco a fare il login.
Qualcuno mi può essere d’aiuto o dare uno spunto?

Grazie a tutti

Riccardo

Ciao @rcamanzi,
è necessario capire e vedere la request che invii ho chiesto all’helpdesk di prendere la tua segnalazione in esame e ti fornisco un feedback.

Umberto Rosini
Agenzia per l’italia Digitale

Ciao,
se non l’hai ancora visto, esiste questo documento:


che contiene la descrizione degli errori ritornati dagli IdP.
Il certificato deve essere quello che hai messo nel metadata pubblicato e va bene selfsigned, tra l’altro la tabella di cui sopra dice che il tuo errore dovrebbe essere generato dopo la verifica della firma, quindi non dovrebbe essere quello il porblema.
Sembrerebbe un problema nel formato della richiesta, a me era successa una cosa simile con un IdP per via del formato con cui scrivevamo le date/ora.

HTH
Ciao
Federico

Ciao @FedericoA,
il formato data/ora è corretto 2018-02-16T16:24:45.161Z, non penso sia un problema di millisecondi ma stiamo controllando con Poste.

Ciao e grazie del contributo

Umberto Rosini
Agenzia per l’Italia Digitale

Ciao,
io avevo lo stesso errore e poi ho scoperto che a Poste non andava bene qualunque ID nella authnRequest (credo che non volesse quelli che iniziavano con un numero).

Sembra impossibile, ma così ho risolto

authnRequest.setID("_" + UUID.randomUUID().toString());

Ciao,
si confermo che non deve iniziare con un numero, quello in oggetto è corretto: ID="_833d42cf51332096e87ca86cd3f5d036"

Ciao

Umberto Rosini
Agenzia per l’Italia Digitale

Anzitutto grazie per le vostre celerissime risposte e per il supporto.
Purtroppo ho applicato i vostri suggerimenti ma niente da fare.
L’id lo passavo già con _, era di 39 e non di 32. L’ho cambiato ma niente.

Approfitto delle vostre conoscenze e adesso vi riporto la chiamata (in chiaro) che prima avevo omesso

<?xml version="1.0" encoding="UTF-8"?>

<saml2p:AuthnRequest AssertionConsumerServiceIndex=“0” AttributeConsumingServiceIndex=“1” Destination=“https://posteid.poste.it/jod-fs/ssoserviceredirect” ID="_zaoirmlsnagc0hrvwggz2fcuvnwgamyv" IssueInstant=“2018-02-16T17:36:32.817Z” Version=“2.0” xmlns:saml2p=“urn:oasis:names:tc:SAML:2.0:protocol”><saml2:Issuer Format=“urn:oasis:names:tc:SAML:2.0:nameid-format:entity” NameQualifier=“https://egov.comune.jesolo.ve.it” xmlns:saml2=“urn:oasis:names:tc:SAML:2.0:assertion”>https://egov.comune.jesolo.ve.it</saml2:Issuer><saml2p:NameIDPolicy Format=“urn:oasis:names:tc:SAML:2.0:nameid-format:transient” xmlns:saml2p=“urn:oasis:names:tc:SAML:2.0:protocol”/><saml2p:RequestedAuthnContext Comparison=“exact” xmlns:saml2p=“urn:oasis:names:tc:SAML:2.0:protocol”><saml2:AuthnContextClassRef xmlns:saml2=“urn:oasis:names:tc:SAML:2.0:assertion”>https://www.spid.gov.it/SpidL1</saml2:AuthnContextClassRef></saml2p:RequestedAuthnContext></saml2p:AuthnRequest>

Grazie ancora.

Ciao @rcamanzi,
la tua request è corretta e sto vedendo con Poste qual’è il problema che si presenta.
Attendo loro notizie e ti aggiorno.

Umberto Rosini
Agenzia per l’Italia Digitale

Grazie @umbros,
per completezza Aruba va, mentre Infocert si comporta come Poste.
Buon weekend

Riccardo

Grazie della segnalazione @rcamanzi.

Buon we

Umberto Rosini
Agenzia per l’Italia Digitale

Scusate se mi intrometto, magari il problema è già stato risolto, ma l’attributo Destination del nodo AuthnRequest dovrebbe essere l’entityID dell’IdP, che nel caso di poste è solo: “https://posteid.poste.it”.

Ciao
Federico

Ciao @rcamanzi,
il problema in realtà non è riscontrabile nelle asserzioni ma nel metadata stesso, infatti non avete dichiarato un AssertionConsumerService con binding POST.

Nelle regole tecniche (http://www.agid.gov.it/sites/default/files/circolari/spid-regole_tecniche_v1.pdf), a pagina 2, è riportato:

La richiesta di autenticazione SAML (basata sul costrutto ) può essere
inoltrata da un Service Provider all’Identity Provider usando il binding HTTP Redirect o il binding HTTP
POST.
La relativa risposta SAML (basata sul costrutto ) può invece essere inviata
dall’Identity Provider al Service Provider solo tramite il binding HTTP POST.

Se aggiungete un ACS in post il problema si risolve.

Aggiungo che questo comportamento è tra gli allineamenti sull’attività di miglioramento interoperabilità tra IDP.

Ciao
Umberto Rosini
Agenzia per l’Italia Digitale

Ciao @umbros,
grazie per l’analisi: effettivamente ho interpretato male le specifiche.
Provvedo ad aggiornare il metadata e a fare i test, poi vi riporterò l’esito.

Effettivamente il comportamento diverso tra IdP trae in inganno sulla ricerca del problema, ma direi
che anche il sistema di verifica del metadata SP andrebbe calato più sulle specifiche SPID che su quelle SAML2.
Spero che questi piccoli problemi, resi pubblici, siano di aiuto per tutti.

A presto

Riccardo

Ciao @rcamanzi,
la verifica del metadata è basata su uno schema modificato secondo le regole tecniche agid. Comunque il progetto è quello di creare direttamente noi i metadata sulla base di form di configurazione compilati dagli SP (nuovo sistema di onboarding); in questa ottica, di fatto, ogni controllo “stringente” sarà gestito meglio.

Umberto Rosini
Agenzia per l’Italia Digitale

Ciao @umbros ,
ottimo. :ok_hand:

Riccardo

Salve a tutti,
ho aggiornato il metadata e mi hanno confermato che è stato messo in delpoy, difatti adesso riesco a raggiungere anche l’Idp Infocert, ma PosteId va ancora in errore.
Dunque Tim,Aruba e Infocert ok mentre Poste ko. La richiesta è la stessa precedente.
Dove sarà l’errore?
Grazie per il supporto.

Riccardo

Scusate per i tanti messaggi,
ma adesso funziona anche Poste.
Probabilmente non avevano ancora attivato/recepito le modifiche del metadata.

Un saluto a tutti

Riccardo