Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Esistenza Vita [C019] "correlationId":"37f45c6f-c1d1-4f48-8cd9-b76ca681c48f" #791

Closed
JeyjooMilano opened this issue Apr 22, 2024 · 8 comments
Labels
voucher-errors There's an error when requesting a new voucher

Comments

@JeyjooMilano
Copy link

Buongiorno,

Devo implementare il web service Esistenza Vita.

Siamo riusciti a generare il voucher, ma su Github è stato richiesto di aggiungere il "digest" al client assertion. Fatto questo riceviamo un nuovo errore. Ecco l'issue - italia/anpr#4496

Qui sotto c'è una copia dell'errore che riceviamo:

{"correlationId":"37f45c6f-c1d1-4f48-8cd9-b76ca681c48f","errors":[{"code":"015-0008","detail":"Unable to generate a token for the given request"}],"status":400,"title":"The request contains bad syntax or cannot be fulfilled.","type":"about:blank"}

Aveta idea del problema? Tranne il digest abbiamo usato una copia / incolla dalla piattaforma selfcare.uat.interop.pagopa.it.

Grazie

@JeyjooMilano JeyjooMilano added the voucher-errors There's an error when requesting a new voucher label Apr 22, 2024
@FedericaSicchiero
Copy link
Contributor

Buongiorno,
avete provato ad usare il tool di debug del voucher presente in piattaforma?

@JeyjooMilano
Copy link
Author

Buongiorno.

Sono andato su Debug client assertion. Mi dà questo errore: Invalid format for digest claim. Reason: The "digest" claim is not a JSON object or Map

Invece se tolgo il digest dalla create_client_assertion.py, il client assertion risulta valida.

Ma su Github qua - italia/anpr#4496, ci hanno detto di aggiungere digest alla client assertion.

Posso concludere che per il client assertion NON serve il json sotto?

{ "digest": { "alg": "SHA256", "value": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" } }

Posso anche concludere che il voucher è valido? Ecco la schermata che vedo in debug se tolgo il digest:

image

Grazie

@FedericaSicchiero
Copy link
Contributor

Buongiorno,
l'errore probabilmente è dato dal fatto che il campo value lì indicato non sia della lunghezza corretta. Se codificato con sha256 la lunghezza è standard e quindi dovrebbe andare.

Il fatto che col tool di debug tutte le spunte siano verdi vuol dire che c'è il via libera allo stacco del token, ma non che l'erogatore fornisce i dati di sicuro .

@JeyjooMilano
Copy link
Author

Grazie per la risposta.

Quindi dentro il json del file create_client_assertion.py dobbiamo aggiungere il digest al payload? Chiedo perché quando scarico create_client_assertion.py dalla piattaforma su pagopa.it, non c'è digest.

Grazie

@FedericaSicchiero
Copy link
Contributor

È da inserire se l'erogatore lo chiede esplicitamente, dopo averlo codificata usando sha256 (campo value) e mettendo nel campo alg sha256.

@JeyjooMilano
Copy link
Author

Buongiorno,

Ho provato questi 3 payload sotto. In ogni caso mi da l'errore riportato sotto. Nota, nel file create_client_assertion.py dal vostro sito, abbiamo cambiato soltanto la parte digest. Se tolgo digest, il voucher si genera senza problemi.

Payload 1

{
    "iss": args.issuer,
    "sub": args.subject,
    "aud": args.audience,
    "purposeId": args.purposeId,
    "client_id": "XXXX",
    "jti": str(jti),
    "iat": issued,
    "exp": expire_in,
    "digest": {
      "alg": "SHA256",
      "value": "OAgYtfjsp5kg4IINL4btj+WPvsIo585W6XTkkW8Je78="
    }
  }

risposta:
{"correlationId":"b02a8505-d1c0-4afb-a28f-2760ad06c47f","errors":[{"code":"015-0008","detail":"Unable to generate a token for the given request"}],"status":400,"title":"The request contains bad syntax or cannot be fulfilled.","type":"about:blank"}

Payload 2

{
    "iss": args.issuer,
    "sub": args.subject,
    "aud": args.audience,
    "purposeId": args.purposeId,
    "client_id": "XXXX",
    "jti": str(jti),
    "iat": issued,
    "exp": expire_in,
    "digest": "SHA-256=OAgYtfjsp5kg4IINL4btj+WPvsIo585W6XTkkW8Je78="
}

Risposta:
{"correlationId":"8106272f-6563-4414-a096-851ea748c6dd","errors":[{"code":"015-0008","detail":"Unable to generate a token for the given request"}],"status":400,"title":"The request contains bad syntax or cannot be fulfilled.","type":"about:blank"}

Payload 3
{
"iss": args.issuer,
"sub": args.subject,
"aud": args.audience,
"purposeId": args.purposeId,
"client_id": "XXXX",
"jti": str(jti),
"iat": issued,
"exp": expire_in,
"digest": "OAgYtfjsp5kg4IINL4btj+WPvsIo585W6XTkkW8Je78="
}

Risposta
{"correlationId":"4c27ca23-dfaa-40b0-991a-cff1b39e7f7b","errors":[{"code":"015-0008","detail":"Unable to generate a token for the given request"}],"status":400,"title":"The request contains bad syntax or cannot be fulfilled.","type":"about:blank"}

Riuscite a vedere cosa abbiamo sbagliato?

Grazie

@FedericaSicchiero
Copy link
Contributor

Salve, dai nostri controlli risulta corretto il payload 1 ma se avete aggiunto la codifica base64 non serve metterla, basta solo sha256 e non dovrebbe dare errori

@JeyjooMilano
Copy link
Author

Grazie,
Adesso con Payload 1 senza base64 siamo riusciti generare il voucher
Grazie mille

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
voucher-errors There's an error when requesting a new voucher
Projects
None yet
Development

No branches or pull requests

2 participants