Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Hoe haal en decostel ik een JWT -token in een logische app


Hoe haal en decostel ik een JWT -token in een logische app


Om een ​​JWT -token op te halen en te decoderen in een logische app, kunt u deze stappen volgen:

1. Ophalen van het JWT -token: eerst moet u het JWT -token verkrijgen. Dit kan worden gedaan door de headers van een inkomend verzoek te parseren. Als het token in de header 'autorisatie' wordt verzonden, kunt u het extraheren met behulp van een `Parse JSON' -actie met een schema dat de 'autorisatie' -sleutel vastlegt. Maak vervolgens een variabele om alleen het tokengedeelte vast te houden (bijvoorbeeld na "drager") [10].

2. Decodeer het JWT-token: JWT-tokens zijn base64url-gecodeerd. U kunt het payloadgedeelte van het token decoderen met behulp van de functies `split` en` base64ToString` in logische apps. Split het token door het "." Afscheider om de lading te isoleren. Voeg vervolgens "=" toe om ervoor te zorgen dat de lengte een veelvoud van 4 is voor base64 -decodering. Logica -apps zullen dit impliciet converteren naar een base64 -tekenreeks, die u vervolgens kunt decoderen met behulp van `base64ToString` [1] [3].

3. Parse de gedecodeerde lading: na het decoderen van de payload heeft u een JSON -string. Gebruik nog een `parse json` -actie om deze string om te zetten in een JSON -object waarmee u in uw logische app kunt werken. U kunt een schema definiëren voor dit JSON -object op basis van de verwachte claims in het JWT -token [3].

4. Claims extract: Zodra de JSON is ontleed, kunt u specifieke claims extraheren (zoals gebruikers -ID of e -mail) en deze gebruiken als dat nodig is in uw logische app -workflow.

Met deze aanpak kunt u JWT -tokens direct binnen Azure Logic -apps decoderen en gebruiken zonder een Azure -functie te hoeven maken of externe services te gebruiken voor decodering. Als u echter het token moet valideren (de handtekening ervan controleren), moet u mogelijk een externe service of een Azure -functie gebruiken met een bibliotheek die in staat is tot JWT -validatie.

Citaten:
[1] https://stackoverflow.com/questions/54257879/how-to-decode-a-jwt-token-inzure-logic-app
[2] https://www.criipto.com/blog/jwt-validation-guide
[3] https://autosysops.com/blog/pars-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-token-via-powershell
[6] https://supertokens.com/blog/revoking-access-with-a-jwt-blacklist
[7] https://techcommunity.microsoft.com/blog/azuredevcommunityblog/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-secururing-a-logic-app
[9] https://www.mikaelsand.se/2022/06/extracting-values-from-a-jwt-token-in-apim/
[10] https://rakhesh.com/azure/parsing-json-tokens-in-a-loogic--app/
[11] https://github.com/auth0/jwt-decode