Avkodning av ett JWT -token i Azure Logic -appar kan uppnås utan att använda externa bibliotek som Node.js eller C#. Här är en steg-för-steg-strategi:
1. Extract the JWT Token: First, you need to extract the JWT token from the incoming request. Detta finns vanligtvis i "Authorization" -huvudet för begäran.
2. Split the JWT Token: JWT tokens are composed of three parts separated by dots: header, payload, and signature. Du måste dela upp token med dessa punkter för att isolera nyttolasten, som innehåller användarinformationen.
3. Decode the Payload: The payload is Base64Url encoded. Du kan använda funktionen "Base64ToString" i logiska appar för att avkoda den. Du måste dock se till att bas64 -strängen är korrekt vadderad med "=" för att göra sin längd till en multipel av 4.
4. Analys JSON: När den välkodas kommer nyttolasten att vara en JSON -sträng. Använd funktionen "JSON" i logiska appar för att analysera den här strängen till ett JSON -objekt som du kan arbeta med.
Här är ett förenklat exempel på hur detta kan se ut i logiska appar:
- Dela JWT -token: Använd ett uttryck som `split (triggerbody ()? ['Auktorisation'], '.')` För att dela token.
- Decode the Payload: Append "=" to ensure proper padding and then use `base64ToString` to decode it.
- Parse JSON: Använd funktionen "JSON" för att analysera den avkodade nyttolasten.
För ett mer återanvändbart tillvägagångssätt kan du överväga att skapa en barnlogik -app specifikt för att analysera JWT -tokens, som beskrivs i [3]. This allows you to easily integrate JWT parsing into multiple Logic Apps.
Om du behöver validera tokenet (kontrollera dess signatur), skulle du vanligtvis använda en extern tjänst eller bibliotek, eftersom logiska appar inte stöder JWT -validering. Men för att helt enkelt extrahera fordringar utan validering räcker ovanstående steg.
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
]
[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-backlist
[9] https://fusionsauth.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/