Closed Davi84 closed 10 months ago
ho integrato il digest, ora l'errore è il seguente:
{
"detail": "Received request is not conform to the required interoperability profile",
"govway_id": "f39bf0b3-abb4-11ee-93ee-005056ae1884",
"status": 400,
"title": "InteroperabilityInvalidRequest",
"type": "https://govway.org/handling-errors/400/InteroperabilityInvalidRequest.html"
}
@amollicone1982 questo è l'unico canale per fare questo tipo di verifica?
Buongiorno, per il momento è questo il canale. Riporto i principali errori: Validazione security token ModI 'INTEGRITY' della richiesta fallita: Riscontrate 3 eccezioni. Header HTTP 'Digest' presente in una richiesta con http payload vuoto Header HTTP 'Digest' possiede un valore non corrispondente al messaggio Claim 'signed_headers' con un formato non valido; atteso un array
Ricordo che è possibile visionare un client di esempio (snippet) al seguente link https://github.com/italia/anpr/issues/3964
effettuate le correzioni su signed_headers e digest. ora si presenta il seguente errore:
{ "detail": "Received request is not conform to the required interoperability profile", "govway_id": "d2fd4bd4-ae0c-11ee-88ba-005056ae5232", "status": 400, "title": "InteroperabilityInvalidRequest", "type": "https://govway.org/handling-errors/400/InteroperabilityInvalidRequest.html" }
l'hash è calcolato come segue:
String body_hash = Base64.getEncoder().encodeToString(digest.digest(body.getBytes(StandardCharsets.UTF_8)));
mentre il body è caricato nella request come segue:
postLetturaDati.setEntity(new StringEntity(body));
'Agid-JWT-TrackingEvidence' contenente un claim 'aud' non valido
non è questo?
preso dal servizio: C019-servizioAccertamentoEsistenzaVita-assicurazioni in particolare ho:
String audience = "https://modipa-val.anpr.interno.it/govway/rest/in/MinInternoPortaANPR/C019-servizioAccertamentoEsistenzaVita/v1";
String target = "https://modipa-val.anpr.interno.it/govway/rest/in/MinInternoPortaANPR-PDND/C019-servizioAccertamentoEsistenzaVita/v1/anpr-service-e002";
nel token hai messo aud come array
"aud": [ "https://modipa-val.anpr.interno.it/govway/rest/in/MinInternoPortaANPR/C019-servizioAccertamentoEsistenzaVita/v1" ],
è una forzatura della libreria jjwt... anche cambiando la modalità di input quando rileva il claim "aud" lo ridefinisce ad array. se forzo e metto "audx" lo restituisce correttamente come stringa singola. strano che non venga accettato. devo trovare un workaround.
<dependency>
<groupId>io.jsonwebtoken</groupId>
<artifactId>jjwt-api</artifactId>
<version>0.12.3</version>
</dependency>
<dependency>
<groupId>io.jsonwebtoken</groupId>
<artifactId>jjwt-impl</artifactId>
<version>0.12.3</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>io.jsonwebtoken</groupId>
<artifactId>jjwt-jackson</artifactId> <!-- or jjwt-gson if Gson is preferred -->
<version>0.12.3</version>
<scope>runtime</scope>
</dependency>
risolto, ho dovuto usare il metodo .setAudience(audience), unico problema che è deprecato... ora ho degli errori di merito nella chiamata. grazie mille!
non so se fornite supporto anche sulla parte di merito:
{"criteriRicerca":{"codiceFiscale":"NRENTN80B22G393L"},"datiRichiesta":{"casoUso":"C019","dataRiferimentoRichiesta":"2024-01-08","motivoRichiesta":"Test Sviluppo"},"idOperazioneClient":"6f41a48f-bfbf-4c32-920a-840c7e08e8ec"}
esito:
{"listaErrori":[{"codiceErroreAnomalia":"999","testoErroreAnomalia":"Operazione non effettuabile","tipoErroreAnomalia":"E"}],"idOperazioneANPR":"0"}
trovato: idOperazioneClient troppo lungo (c'è da qualche parte la specifica? ).
vi chiederei se potete fare una modifica e accettare anche il claim "aud" come array di stringhe di lungezza 1 oltre che la semplice stringa singola. In questo modo sarebbe possibile continuare ad usare questa libreria evitando il metodo deprecato.
faccio poi una ulteriore domanda di alto livello: teoricamente dovremmo fare una verifica massiva su circa 1.4 mln di CF in un'unica elaborazione batch. è possibile insistere su questo servizio?
Ha ragione che manca la specifica sull'idOperazioneClient che ha una lunghezza massima di 100 caratteri. Non possiamo fare alcuna modifica in quanto quello che lei chiede andrebbe contro le linee guida agid che non prevono array (se ci fa caso anche il voucher pdnd non ha array di aud). Per la verifica massiva potreste insistere su questo servizio ma, se non avete tempi stretti, nell'arco di un paio di mesi dovremmo mettere su un e-service che permetta elaborazioni mssive a patire da un elenco di cf
Buona giornata
gentilissimo! grazie e altrettanto!
Salve, sto chiamando il seguente servizio:
ma ottengo il seguente errore:
potete cortesemente darmi qualche dettaglio sull'errore?
grazie