Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Jak mohu načíst a dekódovat token JWT v logické aplikaci


Jak mohu načíst a dekódovat token JWT v logické aplikaci


Chcete -li načíst a dekódovat token JWT v logické aplikaci, můžete tyto kroky postupovat:

1. Načíst token JWT: Nejprve musíte získat token JWT. Toho lze provést analýzou záhlaví příchozí žádosti. Pokud je token odeslán v záhlaví „autorizace“, můžete jej extrahovat pomocí akce „Parse JSON“ se schématem, která zachycuje klíč „autorizace“. Poté vytvořte proměnnou, která drží pouze část tokenu (např. Po „nositeli“) [10].

2. dekódujte token JWT: JWT tokeny jsou kódovány Base64Url. Část užitečného zatížení tokenu můžete dekódovat pomocí funkcí „Split“ a `Base64ToString“ v logických aplikacích. Rozdělte token "". separátor pro izolaci užitečného zatížení. Poté připojte "=", abyste zajistili, že délka je násobkem 4 pro dekódování Base64. Logické aplikace to implicitně převedou na řetězec Base64, který pak můžete dekódovat pomocí `Base64ToString` [1] [3].

3. analyzujte dekódované užitečné zatížení: Po dekódování užitečného zatížení budete mít řetězec JSON. Pomocí další akce „Parse JSON“ převést tento řetězec na objekt JSON, se kterým můžete ve své logické aplikaci pracovat. Pro tento objekt JSON můžete definovat schéma na základě očekávaných nároků v tokenu JWT [3].

4. Extrakční nároky: Jakmile je JSON analyzován, můžete extrahovat konkrétní nároky (jako ID uživatele nebo e -mail) a použít je podle potřeby v pracovním postupu logické aplikace.

Tento přístup umožňuje dekódovat a používat tokeny JWT přímo v rámci logických aplikací Azure, aniž byste museli vytvářet funkci Azure nebo používat externí služby pro dekódování. Pokud však potřebujete ověřit token (zkontrolujte jeho podpis), možná budete muset použít externí službu nebo azurovou funkci s knihovnou schopnou ověření JWT.

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://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://techcommunity.microsoft.com/blog/azurevevcommunityblog/part-4-secure-your-logic-app-using-api-management-8211-alidate-jwt-access-test/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/parsing-json-tokens-in-a-logic-app/
[11] https://github.com/auth0/jwt-decode