ministero-salute / it-fse-support

https://ministero-salute.github.io/it-fse-support/
33 stars 20 forks source link

Problema autenticazione token #720

Closed ebneuro closed 5 months ago

ebneuro commented 5 months ago

Buongiorno, Siamo l'azienda EBNeuro spa, stiamo affrontando lo sviluppo di un modulo sw per accedere ai servizi per accreditamento su FSE 2.0, al momento non riusciamo ad effettuare la chiamata ai servizi, otteniamo un errore di autenticazione, sembra che uno dei due token generato non sia corretto, potete darci supporto?

Grazie

Ecco la chiamata:

` Bearer Token Header: { "alg": "RS256", "typ": "JWT", "x5c": "[\"MIIMhQIBAzCCDEEGCSqetc... } Payload: { "iss": "auth:S1#111#EBNEUROSPAXX", "aud": "https://modipa-val.fse.salute.gov.it/govway/rest/in/FSE/gateway/v1", "sub": "VRDMRC67T20I257E", "iat": 1712040946764, "exp": 1712041246764, "jti": "1712040946764" } Signature: fuXDZpaRGURzbKf_GPXk3lsBMwNGfLi-CJIGlV7MzWybb_q4Z etc...

FSE Token Header: { "alg": "RS256", "typ": "JWT", "x5c": "[\"MIIMhQIBAzCCDEEGCSqGetc...... } Payload: { "iss": "integrity:S1#111#EBNEUROSPAXX", "iat": 1712041066626, "exp": 1712041366626, "jti": "1712041066626", "aud": "https://modipa-val.fse.salute.gov.it/govway/rest/in/FSE/gateway/v1", "sub": "VRDMRC67T20I257E", "subject_organization_id": "90", "subject_organization": "Regione Toscana", "locality": "201123456", "subject_role": "AAS", "person_id": "RSSMRA75C03F839K", "patient_consent": true, "purpose_of_use": "TREATMENT", "resource_hl7_type": "11502-2^^2.16.840.1.113883.6.1", "action_id": "CREATE", "attachment_hash": "5e270363a39d8730c1a1dc4e15e4f4e0474431839adfc160fac04e9f2ce6c532", "subject_application_id": "Galileo", "subject_application_vendor": "EBNeuro", "subject_application_version": "4.60" } Signature: KSnL0gqE6u7D5k6_GJqpwzs0C3tRd-1QfsBcQWXAiXCA-68ZO4 etc...

Responso:

{Method: POST, RequestUri: 'https://modipa-val.fse.salute.gov.it/govway/rest/in/FSE/gateway/v1/documents/validation', Version: 1.1, Content: System.Net.Http.MultipartFormDataContent, Headers: { Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsIng1YyI6Il etc... FSE-JWT-Signature: eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsIng1YyI6IltcIk1JS etc... Accept: application/json traceparent: 00-d381f20fbbf47eb9c6580e6bdba91eef-4b42b4a52e1eb46b-00 Content-Type: multipart/form-data; boundary="2a013daa-c870-4b74-9c7d-6a17ca09f9de" Content-Length: 428 }}

{StatusCode: 401, ReasonPhrase: 'Unauthorized', Version: 1.1, Content: System.Net.Http.HttpConnectionResponseContent, Headers: { X-Backside-Transport: FAIL FAIL Connection: Keep-Alive Transfer-Encoding: chunked Cache-Control: no-store, must-revalidate, no-cache Server: GovWay-SOGEI Pragma: no-cache GovWay-Transaction-ErrorType: TokenAuthenticationFailed GovWay-Transaction-ID: 96248add-f0b8-11ee-9223-005056ae7395 Date: Tue, 02 Apr 2024 07:00:08 GMT WWW-Authenticate: Bearer realm="FSE-JWT-Signature", error="invalid_token", error_description="Token invalid" Vary: * X-Content-Type-Options: nosniff X-Global-Transaction-ID: 3f7e3e2d660bacf82090022d Expires: 0 Content-Type: application/problem+json }, Trailing Headers: { }} Errore: "Unauthorized" `

A presto

vigliottim commented 5 months ago

Buongiorno, dalle analisi effettuate i seguenti campi presenti nei token non risultano corretti:

FSE-JWT-Signature:

Authentication Bearer Token:

Per maggiori dettagli sui campi contenuti nei JWT e la loro valorizzazione, la invitiamo a consultare la documentazione al link seguente: https://github.com/ministero-salute/it-fse-support/tree/main/doc/integrazione-gateway#131-campi-contenuti-nei-jwt. Rimaniamo a disposizione per ulteriori chiarimenti.

ebneuro commented 5 months ago

Buongiorno, Grazie per il supporto, Abbiamo modificato il messaggio di chiamata ma abbiamo ancora l'errore di autorizzazione ecco il nuovo log:

`

Bearer

Header: { "alg": "RS256", "typ": "JWT", "x5c": [ "MIIMhQIBAzCCDEEGCSqGSIb3DQEHAa etc..." ] } Payload: { "iss": "auth:S1#111#EBNEUROSPAXX", "aud": "https://modipa-val.fse.salute.gov.it/govway/rest/in/FSE/gateway/v1", "sub": "VRDMRC67T20I257E^^^&2.16.840.1.113883.2.9.6.3.2&ISO", "iat": 1712216662632, "exp": 1712216962632, "jti": "1712216662632" } Signature: Uw6bQjUqLWwJZw_qDyhAnM0hRQ082yCXilUM3KK6KRrzOwRWS etc...

FSE

Header: { "alg": "RS256", "typ": "JWT", "x5c": [ "MIIMhQIBAzCCDEEGCSqGSIb3DQEHAaCCDDIEggwuMIIM etc..." ] } Payload: { "iss": "integrity:S1#111#EBNEUROSPAXX", "iat": 1712216662642, "exp": 1712216962642, "jti": "1712216662642", "aud": "https://modipa-val.fse.salute.gov.it/govway/rest/in/FSE/gateway/v1", "sub": "VRDMRC67T20I257E^^^&2.16.840.1.113883.2.9.6.3.2&ISO", "subject_organization_id": "90", "subject_organization": "Regione Toscana", "locality": "201123456", "subject_role": "AAS", "person_id": "RSSMRA75C03F839K^^^&2.16.840.1.113883.2.9.4.3.7&ISO", "patient_consent": true, "purpose_of_use": "TREATMENT", "resource_hl7_type": "('11502-2^^2.16.840.1.113883.6.1')", "action_id": "CREATE", "attachment_hash": "e5d3e3653a27c83304b75c82bedfc7a158e6a5266ce78f1c4a078098195f7dec", "subject_application_id": "Galileo", "subject_application_vendor": "EBNeuro", "subject_application_version": "4.60" } Signature: UIhTfV6i0HYNrd3oW9oFrlOv4KSrcae80GmT41E2nH8ZXbbxfY1F-5lx9zvIRf etc..

Responso: {Method: POST, RequestUri: 'https://modipa-val.fse.salute.gov.it/govway/rest/in/FSE/gateway/v1/documents/validation', Version: 1.1, Content: System.Net.Http.MultipartFormDataContent, Headers: { Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsIng1YyI etc... FSE-JWT-Signature: eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsIng1YyI6WyJNSUlNaFFJQkF6Q0 etc... Accept: application/json traceparent: 00-030ab777655e5e375a768d0379b65359-066542a62300880e-00 Content-Type: multipart/form-data; boundary="f0cb8df5-5175-4a39-924a-f0933c7092dd" Content-Length: 394 }} Errore realm="FSE-JWT-Signature", error="invalid_token", error_description="Token invalid" `

vigliottim commented 5 months ago

Buon pomeriggio, potrebbe gentilmente fornirci il govwayid/traceid dell'ultima chiamata effettuata? Grazie.

ebneuro commented 5 months ago

Abbiamo fatto un nuovo test ecco il log con id: { "workflowInstanceId": 0, "traceId": null, "spanId": null, "type": "https://govway.org/handling-errors/401/TokenAuthenticationFailed.html", "title": "TokenAuthenticationFailed", "detail": "Invalid token", "status": 401, "instance": null, "govway_id": "9c9af1de-f28b-11ee-93a7-005056ae54fa" }

ed ecco il log delle nuova chiamata

` { "alg": "RS256", "typ": "JWT", "x5c": [ "MIIMhQIBAzCCDEEGCSqGSIb3DQEHAaCCDDIE etc... " ] } { "iss": "auth:S1#111#EBNEUROSPAXX", "aud": "https://modipa-val.fse.salute.gov.it/govway/rest/in/FSE/gateway/v1", "sub": "VRDMRC67T20I257E^^^&2.16.840.1.113883.2.9.6.3.2&ISO", "iat": 1712239738884, "exp": 1712240038884, "jti": "1712239738884" } Signature: PeubByR15Dpp6WXPdEBgPaPRkXsV9OXauLCv5uxs9TZr1BLXo etc...

{ "alg": "RS256", "typ": "JWT", "x5c": [ "MIIMhQIBAzCCDEEGCSqGSIb3DQEHAaCCDDIEggwuMIIMKjCCBhsGCSqG etc..." ] } { "iss": "integrity:S1#111#EBNEUROSPAXX", "iat": 1712239738939, "exp": 1712240038939, "jti": "1712239738939", "aud": "https://modipa-val.fse.salute.gov.it/govway/rest/in/FSE/gateway/v1", "sub": "VRDMRC67T20I257E^^^&2.16.840.1.113883.2.9.6.3.2&ISO", "subject_organization_id": "90", "subject_organization": "Regione Toscana", "locality": "201123456", "subject_role": "AAS", "person_id": "RSSMRA75C03F839K^^^&2.16.840.1.113883.2.9.4.3.7&ISO", "patient_consent": true, "purpose_of_use": "TREATMENT", "resource_hl7_type": "('11502-2^^2.16.840.1.113883.6.1')", "action_id": "CREATE", "attachment_hash": "e5d3e3653a27c83304b75c82bedfc7a158e6a5266ce78f1c4a078098195f7dec", "subject_application_id": "Galileo", "subject_application_vendor": "EBNeuro", "subject_application_version": "4.60" } Signature: UCyRfXbOjQWjOCiIemOLmOh0gSHnBfQht1EVSbKMyC4amtoYbT etc...

Responso:

{ "workflowInstanceId": 0, "traceId": null, "spanId": null, "type": "https://govway.org/handling-errors/401/TokenAuthenticationFailed.html", "title": "TokenAuthenticationFailed", "detail": "Invalid token", "status": 401, "instance": null, "govway_id": "9c9af1de-f28b-11ee-93a7-005056ae54fa" }

`

LucaRogledi commented 5 months ago

Buonasera, Dalle analisi svolte utilizzando il tool online jwt.io è emerso che il campo x5c inserito all'interno dei token contiene un valore non valido. Infatti, come può vedere, compare l'errore "Invalid Signature" (apparirà il messaggio "Signature Verified" in caso di signature valida):

image

La invitiamo a generare nuovamente i token utilizzando un valore valido per il campo x5c e riprovare la chiamata. Se può esserle di aiuto è disponibile al seguente link il tool per la generazione dei token jwt: https://github.com/ministero-salute/it-fse-gtw-tools/tree/main/jwt-generator. Grazie.

vigliottim commented 5 months ago

Buongiorno, non avendo ricevuto riscontri, il presente ticket viene chiuso. Può procedere alla riapertura nel caso in cui abbia bisogno di ulteriore supporto. Grazie.