italia / anpr

Issue tracker e documentazione di ANPR - Anagrafe Nazionale della Popolazione Residente
Creative Commons Attribution 4.0 International
181 stars 49 forks source link

C030-servizioAccertamentoIdUnicoNazionale - InteroperabilityInvalidRequest #4731

Open mediam001 opened 3 days ago

mediam001 commented 3 days ago

Buongiorno, abbiamo qualche problema con l'interrogazione del servizio [C030]

L'endpoint

https://modipa-val.anpr.interno.it/govway/rest/in/MinInternoPortaANPR-PDND/C030-servizioAccertamentoIdUnicoNazionale 

ci risponde con seguente risposta:


{
    "type": "https://govway.org/handling-errors/400/InteroperabilityInvalidRequest.html",
    "title": "InteroperabilityInvalidRequest",
    "status": 400,
    "detail": "Received request is not conform to the required interoperability profile",
    "govway_id": "4628b233-a7eb-11ef-9c95-005056ae1884"
}

Il nostro flusso è seguente:

  1. Creazione tokend di autenticazione:
curl --location --request POST 'https://auth.uat.interop.pagopa.it/token.oauth2' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'client_id=IL_NOSTRO_CLIENT_ID' \
--data-urlencode 'client_assertion=ey_NOSTRO_ASSERTION' \
--data-urlencode 'client_assertion_type=urn:ietf:params:oauth:client-assertion-type:jwt-bearer' \
--data-urlencode 'grant_type=client_credentials'

Token generato dalla chiamata

{
    "access_token": "eyJ0eXAiOiJhdCtqd3QiLCJhbGciOiJSUzI1NiIsInVzZSI6InNpZyIsImtpZCI6ImNkYjUyNTMyLWRkOTQtNDBlZi04MjRkLTljNTViMTBlNmJjOSJ9.eyJhdWQiOiJodHRwczovL21vZGlwYS12YWwuYW5wci5pbnRlcm5vLml0L2dvdndheS9yZXN0L2luL01pbkludGVybm9Qb3J0YUFOUFItUERORC9FMDAyQWNjZXJ0YW1lbnRvSWRBbnByTWFzc2l2by92MSIsInN1YiI6IjliNDM1MjBkLTE4ZDktNDFiNC1hOWMzLTllMmNjNjY4MzVhYyIsIm5iZiI6MTczMjE4MTY5MiwicHVycG9zZUlkIjoiMWEzMjE3MGYtZDcxMy00ZmVjLThmZTgtYzdiOWExMjQwN2UyIiwiaXNzIjoidWF0LmludGVyb3AucGFnb3BhLml0IiwiZXhwIjoxNzMyMTgyMjkyLCJpYXQiOjE3MzIxODE2OTIsImNsaWVudF9pZCI6IjliNDM1MjBkLTE4ZDktNDFiNC1hOWMzLTllMmNjNjY4MzVhYyIsImp0aSI6IjI5ZmRlZmMwLTJlMTAtNGFmNC1hYzQ1LWNmYWE0N2I0ODhhMSJ9.cHk-pic-C3WnTiTv9V9-M0bhrRXsPzEqtluMx4ExeZ-mZxhgJeuFl3Q-hYDafklUksGtHQSu2H26Bs4FBYDNRpTBT96EgGcyfWYdNTZe6jIfPwn588pTjq7H9_pot-1TvK0Mc_3W2-FePH21yC14uic5i06g9LmjqycF6P0Ejks_c8dpAn2eFz4D1Ibv35ZoucFKz5V0Alsk2my56hS69qLY0Gm7MZ_MNhO9JL4u8S0sKcNHFbXlZCWSzAoIXVK3i4TEoj_tgjvunYWkmAY6At74jlMprOhQjYvWXWjgyquvXgZc0L857C2b6FV6EMjtoAFU1zglS0V7OkfwB9RUAQ",
    "expires_in": 600,
    "token_type": "Bearer"
}

2) Chiamata verso servizio C030

curl --location --request POST 'https://modipa-val.anpr.interno.it/govway/rest/in/MinInternoPortaANPR-PDND/C030-servizioAccertamentoIdUnicoNazionale/v1/anpr-service-e002' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer eyJ0eXAiOiJhdCtqd3QiLCJhbGciOiJSUzI1NiIsInVzZSI6InNpZyIsImtpZCI6ImNkYjUyNTMyLWRkOTQtNDBlZi04MjRkLTljNTViMTBlNmJjOSJ9.eyJhdWQiOiJodHRwczovL21vZGlwYS12YWwuYW5wci5pbnRlcm5vLml0L2dvdndheS9yZXN0L2luL01pbkludGVybm9Qb3J0YUFOUFItUERORC9FMDAyQWNjZXJ0YW1lbnRvSWRBbnByTWFzc2l2by92MSIsInN1YiI6IjliNDM1MjBkLTE4ZDktNDFiNC1hOWMzLTllMmNjNjY4MzVhYyIsIm5iZiI6MTczMjE4MTY5MiwicHVycG9zZUlkIjoiMWEzMjE3MGYtZDcxMy00ZmVjLThmZTgtYzdiOWExMjQwN2UyIiwiaXNzIjoidWF0LmludGVyb3AucGFnb3BhLml0IiwiZXhwIjoxNzMyMTgyMjkyLCJpYXQiOjE3MzIxODE2OTIsImNsaWVudF9pZCI6IjliNDM1MjBkLTE4ZDktNDFiNC1hOWMzLTllMmNjNjY4MzVhYyIsImp0aSI6IjI5ZmRlZmMwLTJlMTAtNGFmNC1hYzQ1LWNmYWE0N2I0ODhhMSJ9.cHk-pic-C3WnTiTv9V9-M0bhrRXsPzEqtluMx4ExeZ-mZxhgJeuFl3Q-hYDafklUksGtHQSu2H26Bs4FBYDNRpTBT96EgGcyfWYdNTZe6jIfPwn588pTjq7H9_pot-1TvK0Mc_3W2-FePH21yC14uic5i06g9LmjqycF6P0Ejks_c8dpAn2eFz4D1Ibv35ZoucFKz5V0Alsk2my56hS69qLY0Gm7MZ_MNhO9JL4u8S0sKcNHFbXlZCWSzAoIXVK3i4TEoj_tgjvunYWkmAY6At74jlMprOhQjYvWXWjgyquvXgZc0L857C2b6FV6EMjtoAFU1zglS0V7OkfwB9RUAQ' \
--data '{
"idOperazioneClient": "1",
"criteriRicerca": {
"codiceFiscale": "STTSGT90A01H501J"
},
"datiRichiesta": {
"dataRiferimentoRichiesta": "2024-11-21",
"motivoRichiesta": "Test",
"casoUso": "C030"
}
}'

Ci potete indicare dove è il problema? Grazie mille Cristoforo

afrontera85 commented 2 days ago

Salve, l'errore relativo al govway_id indicato è il seguente: Validazione security token ModI 'INTEGRITY' della richiesta fallita: Header HTTP 'Agid-JWT-Signature' non presente

mediam001 commented 2 days ago

Grazie mille per la risposta, per costruire la chiamata abbiamo guardato file yaml del API che non menziona la necessità di questo campo

image

La chiedo gentilmente anche qualche chiarimento in merito della documentazione. Vedo le discrepanze tra le sezioni:

Implementazione:
https://docs.pagopa.it/interoperabilita-1/manuale-operativo/utilizzare-i-voucher#implementazione

e

Implementazione:
https://docs.pagopa.it/interoperabilita-1/manuale-operativo/utilizzare-i-voucher#il-flusso-in-dettaglio

del documento

https://docs.pagopa.it/interoperabilita-1/manuale-operativo/utilizzare-i-voucher

Esempio: Nel Implementazione parla di creazione del accertion creato tramite il portare che viene usato per staccare JWT.

Ricapitolando: La chiedo gentilmente se mi puo indicare:
1) dove posso vedere tutti i passi e tutte le informazioni necessarie per creazione del accertion 2) dove posso vedere tutti i passi e tutte le informazioni necessarie per creazione del Agid-JWT-Signature 3) esiste un client funzionante che mi premetterebbe di generare JWT e Agid-JWT-Signature corrette per verificare che i token creati da me sono coretti ?

Grazie mille cordialmente Cristoforo

afrontera85 commented 2 days ago

Come può vedere dallo yaml, Anpr implementa INTEGRITY_REST_02 e AUDIT_REST_02, nella sezione security e securitySchemes trova anche il riferimento all'Agid-JWT-Signature. Il documento di riferimento per l'implementazione della cornice di sicurezza delineato da AGID è https://github.com/italia/anpr/files/11999717/Documento.operativo.-.Pattern.sicurezza.-.v1.1.pdf Vi consiglio comunque di dare un'occhiata al client java che abbiamo messo a disposizione come esempio nella issue https://github.com/italia/anpr/issues/4488.