Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Hoe kan ik een JWT -token decoderen in logische apps


Hoe kan ik een JWT -token decoderen in logische apps


Het decoderen van een JWT -token in Azure Logic -apps kan worden bereikt zonder externe bibliotheken zoals Node.js of C#te gebruiken. Hier is een stapsgewijze aanpak:

1. Uittreksel het JWT -token: eerst moet u het JWT -token uit het inkomende verzoek halen. Dit wordt meestal aangetroffen in de koptekst 'autorisatie' van het verzoek.

2. Split het JWT -token: JWT -tokens zijn samengesteld uit drie delen gescheiden door stippen: koptekst, lading en handtekening. U moet het token door deze stippen splitsen om de payload te isoleren, die de gebruikersgegevens bevat.

3. Decodeer de payload: de payload is base64url gecodeerd. U kunt de functie `Base64ToString` gebruiken in logische apps om deze te decoderen. U moet er echter voor zorgen dat de Base64 -string correct is opgevuld met "=" om van zijn lengte een veelvoud van 4 te maken.

4. PARSE JSON: Eenmaal gedecodeerd, zal de lading een JSON -string zijn. Gebruik de functie `json` in logische apps om deze tekenreeks te parseren in een JSON -object waarmee u kunt werken.

Hier is een vereenvoudigd voorbeeld van hoe dit eruit zou kunnen zien in logische apps:

- Split het JWT -token: gebruik een uitdrukking zoals `split (triggerBody ()? ['Autorisatie'], '.')` Om het token te splitsen.
- Decodeer de payload: voeg "=" toe om een ​​goede opvulling te garanderen en gebruik vervolgens `base64toString` om deze te decoderen.
- PARSE JSON: gebruik de functie `json` om de gedecodeerde lading te parseren.

Overweeg voor een meer herbruikbare aanpak een logische app voor kinderen, specifiek voor het parseren van JWT -tokens, zoals beschreven in [3]. Hiermee kunt u JWT -parsering eenvoudig integreren in meerdere logische apps.

Als u het token moet valideren (de handtekening ervan controleren), gebruikt u meestal een externe service of bibliotheek, omdat logische apps de JWT -validatie niet native ondersteunen. Voor het eenvoudigweg extraheren van claims zonder validatie, volstaat de bovenstaande stappen echter.

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://techcommunity.microsoft.com/blog/azuredevcommunityblog/part-4-secure-your-logic-app-using-api-management-8211-validate-jwt-access-restr/336802
[6] https://auth0.com/blog/how-to-validate-jwt-dotnet/
[7] https://github.com/auth0/jwt-decode
[8] https://supertokens.com/blog/revoking-access-with-a-jwt-blacklist
[9] https://fusionauth.io/dev-tools/jwt-decoder
[10] https://rakhesh.com/azure/parsing-json-tokens-in-a-loogic--app/
[11] https://www.reddit.com/r/azure/comments/u4alct/blog_parse_jwt_token_with_azure_logic_apps/