A JWT token dekódolása az Azure Logic alkalmazásokban olyan külső könyvtárak használata nélkül érhető el, mint a Node.js vagy a C#. Itt van egy lépésről lépésre történő megközelítés:
1. Kihúzza a JWT tokent: Először is ki kell vonnia a JWT tokent a bejövő kérésből. Ez általában a kérelem „engedélyének” fejlécében található.
2. Ossza meg a JWT tokent: A JWT tokenek három részből állnak, amelyek pontokkal vannak elválasztva: fejléc, hasznos teher és aláírás. Fel kell osztania a tokent ezen pontok alapján a hasznos teher elkülönítéséhez, amely tartalmazza a felhasználói adatot.
3. Dekódolja a hasznos terhelést: A hasznos teher base64url kódolva van. A logikai alkalmazásokban a „base64toString” funkciót használhatja annak dekódolására. Ugyanakkor gondoskodnia kell arról, hogy a Base64 karakterlánc megfelelően legyen a "=" -val, hogy a hosszát 4 -es egyenlővé tegye.
4. Parse JSON: A dekódolás után a hasznos teher JSON karakterlánc lesz. Használja a „JSON” funkciót a logikai alkalmazásokban, hogy ezt a karakterláncot egy JSON objektumba elemezze, amelyben dolgozhat.
Íme egy egyszerűsített példa arra, hogyan nézhet ki ez a logikai alkalmazásokban:
- Osztja meg a JWT tokent: Használjon olyan kifejezést, mint a „Split (Triggerbody ()?
- Dekódolja a hasznos teher: "=" függelék a megfelelő párnázás biztosítása, majd a „base64toString” használatával dekódolva.
- Parse JSON: Használja a „JSON” funkciót a dekódolt hasznos teher elemzéséhez.
Az újrafelhasználhatóbb megközelítés érdekében fontolja meg a gyermek logikai alkalmazás létrehozását kifejezetten a JWT tokenek elemzésére, a [3] -ben leírtak szerint. Ez lehetővé teszi a JWT elemzésének egyszerű integrálását több logikai alkalmazásba.
Ha validálnia kell a tokent (ellenőrizze annak aláírását), akkor általában külső szolgáltatást vagy könyvtárat használ, mivel a logikai alkalmazások nem támogatják a JWT érvényesítését. Azonban a követelések érvényesítése nélküli kihúzása érdekében a fenti lépések elegendőek.
Idézetek:
[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-practes-of-using-jwt-with-graphql
[5] https://techcommunity.microsoft.com/blog/azedevcommunityblog/Part-4-secure-your-logic-app-ac-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-logic-app/
[11] https://www.reddit.com/r/azure/comments/u4alct/blog_parse_jwt_token_with_azure_logic_apps/