Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Jak mohu dekódovat token JWT v logických aplikacích


Jak mohu dekódovat token JWT v logických aplikacích


Dekódování tokenu JWT v logických aplikacích Azure lze dosáhnout bez použití externích knihoven, jako jsou Node.js nebo C#. Zde je přístup krok za krokem:

1. Extrahujte token JWT: Nejprve musíte extrahovat token JWT z příchozího požadavku. Toto je obvykle nalezeno v záhlaví žádosti „autorizace“.

2. Rozdělte token JWT: JWT tokeny se skládají ze tří částí oddělených tečkami: záhlaví, užitečné zatížení a podpis. Chcete -li izolovat užitečné zatížení, které obsahuje podrobnosti uživatele, musíte rozdělit token těmito tečkami.

3. dekódujte užitečné zatížení: užitečné zatížení je kódováno Base64url. K jeho dekódu můžete použít funkci „Base64ToString“ v logických aplikacích. Musíte však zajistit, aby řetězec Base64 byl správně vycpán "=", aby se jeho délka stala násobkem 4.

4. Parse JSON: Jakmile bude dekódován, bude užitečná zatížení řetězcem JSON. Pomocí funkce „JSON“ v logických aplikacích analyzujte tento řetězec do objektu JSON, se kterým můžete pracovat.

Zde je zjednodušený příklad toho, jak by to mohlo vypadat v logických aplikacích:

- Split token JWT: Použijte výraz jako `Split (TriggerBody ()? ['Autorizace'], '.')` Split token.
- Dekódujte užitečné zatížení: Append "=", abyste zajistili správné polstrování a poté jej dekódovali `base64ToString`.
- Parse JSON: Pomocí funkce „JSON“ analyzujte dekódované užitečné zatížení.

Pro více použitelný přístup zvažte vytvoření aplikace pro dětskou logiku speciálně pro analýzu tokenů JWT, jak je popsáno v [3]. To vám umožní snadno integrovat analýzu JWT do několika logických aplikací.

Pokud potřebujete ověřit token (zkontrolujte jeho podpis), obvykle byste používali externí službu nebo knihovnu, protože logické aplikace nativně nepodporují validaci JWT. Avšak pro jednoduše extrahování nároků bez ověření stačí výše uvedené kroky.

Citace:
[1] https://stackoverflow.com/questions/54257879/how-to-decode-a-jwt-token-in-azure-logic-app
[2] https://www.criipto.com/blog/jwt-alidation-guide
[3] https://autosysops.com/blog/parse-jwt-tokens-in-azure-logic-Apps
[4] https://hasura.io/blog/best-pactices-of-using-jwt-with-graphql
[5] https://techcommunity.microsoft.com/blog/azuredEvcommunityblog/part-4-secure-your-logic-app-using-api-management-8211-alidate-jwt-access-test/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-logic-app/
[11] https://www.reddit.com/r/azure/comments/u4alct/blog_parse_jwt_token_with_azure_logic_apps/