govway icon indicating copy to clipboard operation
govway copied to clipboard

Fruizione servizi INPS tramite PDND

Open hal-berto opened this issue 8 months ago • 3 comments

Buongiorno, sto configurando in GovWay una fruizione del servizio di Attestazione ISEE messo a disposizione dall'INPS tramite PDND. Ho già completato la fase preliminare sia lato INPS (ho richiesto l'emissione di un certificato e ho comunicato ad INPS l'indirizzo IP di provenienza delle chiamate) che lato PDND (ho richiesto la fruizione del servizio, compilato la finalità e creato il client dotandolo del materiale crittografico generato partendo dal certificato fornito da INPS). Lato GovWay ho provveduto alla creazione di un'applicativo configurato come segue:

Image

Ho altresì configurato la policy da utilizzare:

Image

Infine ho creato una fruizione il cui connettore è configurato come segue:

Image

Nel momento in cui effettuo una chiamata all'URL di invocazione della fruizione ricevo un messaggio di errore, il cui dettaglio riportato nella console di monitoring è il seguente:

Image

Dove potrei avere sbagliato?

Grazie per l'attenzione. Buona serata

hal-berto avatar Mar 31 '25 13:03 hal-berto

Buongiorno @hal-berto,

l'errore avviene durante la fase di negoziazione del voucher con la PDND. Si tratta di un errore generico restituito dalla PDND e quindi la problematica può essere dovuta a diversi motivi. Dalle maschere che hai riportato l'errore mi sembrerebbe presente nella maschera dell'applicativo; devi indicare il clientId nel campo 'Identificativo' della sezione 'Authorization OAuth' al posto della stringa 'ApplicativoAttestazioneINPS'.

Puoi comunque verificare l'asserzione JWT inviata alla PDND nella fase di negoziazione accedendo al dettaglio della transazione tramite la console di monitoraggio esaminando il token presente nel tab 'Informazioni Mittente'.

Nel caso non riscontrassi anomalie nell'assezione JWT inviata alla PDND dovresti aprire una segnalazione al supporto PDND chiedendo maggiori dettagli e riportando la risposta json di errore ottenuta.

andreapoli avatar Apr 02 '25 05:04 andreapoli

Buongiorno, grazie per il supporto. Ho aggiunto il client id alla configurazione ma ricevo sempre lo stesso errore. Utilizzando la funzionalità di debug della client assertion presente sulla piattaforma pdnd, mi segnala il seguente errore: "Client assertion validation failure. Reason: [ { "code": "unrecognized_keys", "keys": [ "client_id", "nbf" ], "path": [], "message": "Unrecognized key(s) in object: 'client_id', 'nbf'" } ]"

Il payload della client assertion decodificato è il seguente:

{ "iss": "317db991-a7cc-4974-94a4-dbdeb4e81f44", "client_id": "317db991-a7cc-4974-94a4-dbdeb4e81f44", "sub": "317db991-a7cc-4974-94a4-dbdeb4e81f44", "aud": "auth.interop.pagopa.it/client-assertion", "iat": 1743664025, "nbf": 1743664025, "exp": 1743664325, "jti": "a9ffb611-1049-11f0-8c1c-02422e3a3d04", "purposeId": "41eb1002-bfc9-4c10-bec0-bb5faaeac896" }

Il campo "aud" mi pare riportare il valore corretto, mentre a causare problemi sembrano essere i campi "client_id" ed "nbf" (non se li aspetta).

Come client configurato nell'applicativo sto utilizzando il "client e-service" al quale ho associato il materiale crittografico fornito da INPS. E' corretto o per la richiesta del voucher devo utilizzare un client configurato diversamente? E' anche corretto che la firma dell'assertion riporti semplicemente il valore "==SIGNATURE=="?

hal-berto avatar Apr 03 '25 07:04 hal-berto

Solitamente il certificato fornito da INPS viene utilizzato per il colloquio mTLS mentre su PDND viene depositato una chiava generata in autonomia dal fruitore. Tanto premesso nell'applicativo è importante che riferisci la chiave privata e la relativa chiave pubblica che hai depositato sulla PDND durante la registrazione del client e-service.

L'asserzione riporta il valore "==SIGNATURE==" poichè essendo una credenziale di accesso viene tracciata in modo che non sia riutilizzabile (la parte della firma non è presente) ma sia utilizzabile solamente per fini diagnostici.

Nel caso continui a riscontrare anomalie ti consiglio di aprire una segnalazione al supporto PDND chiedendo maggiori dettagli e riportando la risposta json di errore ottenuta.

andreapoli avatar Apr 03 '25 16:04 andreapoli