Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Як я можу розшифровувати маркер JWT у логічних додатках


Як я можу розшифровувати маркер JWT у логічних додатках


Розшифровка маркера JWT в логічних додатках Azure можна досягти без використання зовнішніх бібліотек, таких як Node.js або C#. Ось покроковий підхід:

1. Витягніть маркер JWT: По -перше, вам потрібно витягнути маркер JWT з вхідного запиту. Зазвичай це є у заголовку запиту `Automization`.

2. Розділити маркер JWT: JWT Tokens складається з трьох частин, розділених крапками: заголовком, корисним навантаженням та підписом. Потрібно розділити маркер за цими крапками для ізоляції корисного навантаження, що містить дані користувача.

3. Розшифровувати корисну навантаження: Корисна навантаження базується 64URL. Ви можете використовувати функцію `base64tostring` у логічних додатках, щоб розшифрувати її. Однак вам потрібно переконатися, що рядок Base64 належним чином підкладений з "=", щоб зробити свою довжину кратною 4.

4. Parse JSON: Після розшифровки корисним навантаженням стане рядок JSON. Використовуйте функцію `json` в логічних додатках для розбору цього рядка в об'єкт JSON, з яким ви можете працювати.

Ось спрощений приклад того, як це може виглядати в логічних додатках:

- розділити маркер JWT: Використовуйте вираз, як -от `Split (triggerbody ()? ['Авторизація'], '.')` Розподілити маркер.
- Розшифровувати корисну навантаження: Додайте "=", щоб забезпечити належну прокладку, а потім використовувати `base64toString`, щоб розшифрувати його.
- Parse JSON: Використовуйте функцію `json` для розбору розшифрованого корисного навантаження.

Для більш багаторазового підходу подумайте про створення програми для дочірньої логіки спеціально для розбору жетонів JWT, як описано в [3]. Це дозволяє легко інтегрувати розбір JWT у кілька логічних додатків.

Якщо вам потрібно перевірити маркер (перевірити його підпис), ви, як правило, використовуєте зовнішню службу або бібліотеку, оскільки логічні програми не підтримують перевірку 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://techcommunity.microsoft.com/blog/azuredevcommunityblog/part-4-secure-your-logic-app-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--logic-app/
[11] https://www.reddit.com/r/azure/comments/u4alct/blog_parse_jwt_token_with_azure_logic_apps/