Щоб отримати та розшифровувати маркер JWT у логічному додатку, ви можете виконати ці кроки:
1. Отримайте маркер JWT: По -перше, вам потрібно отримати маркер JWT. Це можна зробити, розбираючи заголовки вхідного запиту. Якщо маркер надсилається у заголовку "Autimentirization`", ви можете витягнути його за допомогою дії `Parse json` зі схемою, яка фіксує ключ" авторизації ". Потім створіть змінну для утримання лише токенної частини (наприклад, після "пред'явника") [10].
2. Розшифровувати маркер JWT: JWT Tokens є BASE64URL-кодованими. Ви можете розшифрувати частину корисної навантаження маркера за допомогою функцій `split` та` base64tostring` в логічних додатках. Розділити маркер на "." сепаратор для ізоляції корисного навантаження. Потім додайте "=", щоб переконатися, що довжина є кратною 4 для розшифровки Base64. Логічні програми неявно перетворять це в рядок Base64, який потім ви можете розшифрувати за допомогою `base64tostring` [1] [3].
3. Парсить розшифровану корисну навантаження: Після розшифровки корисного навантаження у вас буде рядок JSON. Використовуйте ще одну дію `parse json`, щоб перетворити цей рядок у об'єкт json, з яким ви можете працювати у своєму логічному додатку. Ви можете визначити схему цього об'єкта JSON на основі очікуваних претензій у токену JWT [3].
201
Такий підхід дозволяє розшифрувати та використовувати JWT жетони безпосередньо в програмах Azure Logic, не потребуючи створення функції Azure або використовують зовнішні послуги для декодування. Однак якщо вам потрібно перевірити маркер (перевірити його підпис), можливо, вам знадобиться використовувати зовнішню службу або функцію Azure з бібліотекою, здатною до перевірки JWT.
Цитати:
[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-blacklist
[7] https://techcommunity.microsoft.com/blog/azuredevcommunityblog/part-4-secure-your-logic-app-using-api-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/extracting-values-from-a-jwt-token-in-apim/
[10] https://rakhesh.com/azure/parsing-json-tokens-in--logic-app/
[11] https://github.com/auth0/jwt-decode