A JWT token letöltéséhez és dekódolásához egy logikai alkalmazásban követheti ezeket a lépéseket:
1. Vegye le a JWT tokent: Először be kell szereznie a JWT tokent. Ezt meg lehet tenni a bejövő kérés fejléceinek elemzésével. Ha a tokent az „Engedélyezés” fejlécben küldi el, akkor egy „Parse JSON” művelettel kinyerheti azt egy sémával, amely rögzíti az „Engedély” kulcsot. Ezután hozzon létre egy változót, hogy csak a token részt tartsa (például a "hordozó" után) [10].
2. Dekódolja a JWT tokent: A JWT tokenek base64url-kódolásúak. A token hasznos teherrészét dekódolhatja a „Split” és a „Base64ToString” funkciókkal a logikai alkalmazásokban. Ossza fel a tokent a "" -n. elválasztó a hasznos teher elkülönítéséhez. Ezután a "=" függelék annak biztosítása érdekében, hogy a hosszúság a base64 dekódoláshoz 4 -es többszörös legyen. A logikai alkalmazások implicit módon konvertálják ezt egy base64 karakterláncra, amelyet ezután dekódolhat a `base64ToString '[1] [3] használatával.
3. A dekódolt hasznos teher elemzése: A hasznos teher dekódolása után lesz egy JSON karakterlánc. Használjon egy másik „Parse JSON” műveletet, hogy ezt a karakterláncot JSON objektummá konvertálhatja, amellyel együtt dolgozhat a logikai alkalmazásban. A JSON objektum sémáját a JWT token várható állításai alapján határozhatja meg [3].
4. Kivonat -igények: Miután a JSON elemezte, kivonhatja a konkrét követeléseket (például a felhasználói azonosítót vagy az e -mailt), és szükség szerint használhatja azokat a logikai alkalmazás munkafolyamatában.
Ez a megközelítés lehetővé teszi a JWT tokenek dekódolását és használatát közvetlenül az Azure Logic Apps -ben anélkül, hogy az Azure funkciót létrehozná, vagy külső szolgáltatásokat kell használni a dekódoláshoz. Ha azonban érvényesítenie kell a tokent (ellenőrizze annak aláírását), akkor lehet, hogy külső szolgáltatást vagy Azure funkciót kell használnia a JWT érvényesítésére képes könyvtárral.
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://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/azedevcommunityblog/Part-4-secure-your-logic-app-using-ac-management-8211-validate-jwt-access-restr/336802
[8] https://docs.azure.cn/en-us/logic-apps/logic-apps-securing-a-logic-app
[9] https://www.mikaelsand.se/2022/06/extracing-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