För att hämta och avkoda ett JWT -token i en logisk app kan du följa dessa steg:
1. Hämta JWT -token: Först måste du få JWT -token. Detta kan göras genom att analysera rubrikerna för en inkommande begäran. Om token skickas i rubriken "Autorisation" kan du extrahera den med en "Parse JSON" -åtgärd med ett schema som fångar "Authorization" -nyckeln. Skapa sedan en variabel för att hålla bara tokendelen (t.ex. efter "bärare") [10].
2. Avkodning av JWT-token: JWT-tokens är bas64url-kodade. Du kan avkoda nyttolastdelen av token med funktioner "split" och "bas64ToString" i logiska appar. Dela tokenet med "." Separator för att isolera nyttolasten. Append sedan "=" för att säkerställa att längden är en multipel av 4 för bas64 avkodning. Logikappar kommer implicit att konvertera detta till en BASE64 -sträng, som du sedan kan avkoda med hjälp av `Base64ToString '[1] [3].
3. Analys den avkodade nyttolasten: Efter avkodning av nyttolasten kommer du att ha en JSON -sträng. Använd en annan "analys av JSON" -åtgärd för att konvertera den här strängen till ett JSON -objekt som du kan arbeta med i din logik -app. Du kan definiera ett schema för detta JSON -objekt baserat på de förväntade påståendena i JWT -token [3].
4. Extrahera påståenden: När JSON har analyserats kan du extrahera specifika fordringar (som användar -ID eller e -post) och använda dem efter behov i ditt Logic App -arbetsflöde.
Detta tillvägagångssätt gör att du kan avkoda och använda JWT -tokens direkt i Azure Logic Apps utan att behöva skapa en Azure -funktion eller använda externa tjänster för avkodning. Men om du behöver validera tokenet (kontrollera dess signatur) kan du behöva använda en extern tjänst eller en Azure -funktion med ett bibliotek som kan JWT -validering.
Citeringar:
[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-backlist
]
[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