Closed giovanni-caprilli closed 3 months ago
Verifica ModI della richiesta fallita: [GOVWAY-1365] [Header 'Agid-JWT-TrackingEvidence'] Claim 'purposeId' presente nel token contiene un valore '10b9872e-fb8e-9118-8433-3d24031ef31f' differente da quello presente nel token Authorization (f43b7402-8fef-4214-9cee-f7b95b429a68)
Salve, stiamo implementando le chiamate all'eservice PCP - comunica appalto v4, in ambiente di collaudo dopo aver ottenuto l'accesso in qualificazione alla PDND Interoperabilità ed aver configurato un client e-service ed una finalità collegata.
Abbiamo ricevuto ieri le utenze di test con i dati della SA di test associata.
Otteniamo con successo un Voucher (JWT) da PDND che contiene già il digest in SHA256 del JWS che andiamo poi ad inserire come header "Agid-JWT-TrackingEvidence" della riciesta inviata direttamente al vostro e-service. Nella richiesta inseriamo anche l'header "Authorization: Bearer [Voucher/JWT]" come previsto dal pattern AUDIT_REST_02
Il JWS, firmato con la stessa chiave utilizzata per firmare la client assertion inviata a PDND per ottenere il Voucher, lo componiamo con questi dati:
header:
payload:
Come claim "exp"" calcoliamo 10 secondi dopo il momento della generazione del token, essendo questo il limite dichiarato nella roadmap relativa all'implmementazione del jws.
Generiamo il JWS firmato con la chiave privata associata alla chiave pubblica caricata in PDND. Il JWS viene considerato valido dal debugger su jwt.io.
Utiliziamo poi l'hash SHA256 della stringa del JWS per popolare il claim digest.value del payload che inviamo all'enpoint di autenticazione di PDND per ottenere il Voucher JWT che inseriamo come Bearer nell'header di autenticazione.
Inviamo la richiesta di Voucher come da specifiche alla pagina di documentazione di PDND.
I dati regCodicePiattaforma e regCodiceComponente sono popolati con dei dati di esempio. Dobbiamo indicare qualcosa di specifico in questi claim?
Il dato businessFlowID è definito in quel modo perché effettuiamo una chiamata alla funzione "crea-appalto", che non si riferisce ad un appalto già creato.
I dati traceID ed spanID coincidono perché è una prima chiamata, di un eventuale flusso.
Il contenuto del body è un payload di esempio preparato seguendo le indicazioni descritte al paragrafo 1 qui.
Di seguito l'esito dell'ultima chiamata fatta:
GovWay-Message-ID: 4ee3a796-c9b0-4e54-82da-37f15d7f1fb4
Potete darci il dettaglio di quanto non corretto nella richiesta?
Grazie