Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Come posso recuperare e decodificare un token JWT in un'app logica


Come posso recuperare e decodificare un token JWT in un'app logica


Per recuperare e decodificare un token JWT in un'app logica, è possibile seguire questi passaggi:

1. Recupera il token JWT: in primo luogo, è necessario ottenere il token JWT. Questo può essere fatto analizzando le intestazioni di una richiesta in arrivo. Se il token viene inviato nell'intestazione `Autorizzazione ', è possibile estrarlo usando un'azione` analizza JSON' con uno schema che cattura la chiave `autorizzazione '. Quindi, crea una variabile per contenere solo la parte token (ad esempio, dopo "portatore") [10].

2. Decodificare il token JWT: i token JWT sono codificati da base64url. È possibile decodificare la parte del payload del token utilizzando le funzioni `split` e` Base64ToString` nelle app logiche. Dividi il token per "". separatore per isolare il payload. Quindi, append "=" per garantire che la lunghezza sia un multiplo di 4 per la decodifica Base64. Le app logiche lo converteranno implicitamente in una stringa di base64, che è possibile decodificare usando `Base64ToString` [1] [3].

3. Analizza il payload decodificato: dopo aver decodificato il payload, avrai una stringa JSON. Usa un'altra azione `analizza JSON 'per convertire questa stringa in un oggetto JSON con cui puoi lavorare nella tua app logica. Puoi definire uno schema per questo oggetto JSON in base alle richieste previste nel token JWT [3].

4. Estrai reclami: una volta analizzato il JSON, è possibile estrarre reclami specifici (come l'ID utente o e -mail) e utilizzarli secondo necessità nel flusso di lavoro dell'app logica.

Questo approccio consente di decodificare e utilizzare i token JWT direttamente all'interno delle app di logica di Azure senza dover creare una funzione di Azure o utilizzare servizi esterni per la decodifica. Tuttavia, se è necessario convalidare il token (controlla la sua firma), potrebbe essere necessario utilizzare un servizio esterno o una funzione Azure con una libreria in grado di convalida JWT.

Citazioni:
[1] https://stackoverflow.com/questions/54257879/how-to-decode-a-jwt-token-in-azure-logic-app
[2] https://www.criipto.com/blog/jwt-validation-guide
[3] https://autosysops.com/blog/parse-jwt-tokens-in-azure-logic-apps
[4] https://hasura.io/blog/best-practices-of-using-jwt-with-graphql
[5] https://www.michev.info/blog/post/2140/decode-jwt-access-and-id-tokens-via-powershell
[6] https://supertokens.com/blog/revoking-access-with-a-jwt-blacklist
[7] https://techcomunity.microsoft.com/blog/azurevcommunityblog/part-4-secure-your-logic-app-using-api-management-8211-validate-jwt-access-restr/336802
[8] https://docs.azure.cn/en-us/logic-apps/logic-apps-securing-a-logic-app
[9] https://www.mikaelsand.se/2022/06/extracting-values-from-a-jwt-token-in-apim/
[10] https://rakhesh.com/azure/parasing-json-tokens-in-a-logic-app/
[11] https://github.com/auth0/jwt-decode