Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Как я могу расшифровать токен JWT в приложениях логики


Как я могу расшифровать токен JWT в приложениях логики


Декодирование токена JWT в приложениях Azure Logic может быть достигнуто без использования внешних библиотек, таких как Node.js или C#. Вот пошаговый подход:

1. Извлеките токен JWT: Во -первых, вам нужно извлечь токен JWT из входящего запроса. Это обычно встречается в заголовке «Авторизация» запроса.

2. Разделите токен JWT: токены JWT состоят из трех частей, разделенных точками: заголовок, полезная нагрузка и подпись. Вам нужно разделить токен этими точками, чтобы изолировать полезную нагрузку, которая содержит данные пользователя.

3. Decode the Payload: The payload is Base64Url encoded. Вы можете использовать функцию `base64toString` в логических приложениях, чтобы декодировать ее. However, you need to ensure that the Base64 string is properly padded with "=" to make its length a multiple of 4.

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

Вот упрощенный пример того, как это может выглядеть в логических приложениях:

- Разделите токен JWT: используйте выражение, например, «Split (TriggerBody ()?
- Декодируйте полезную нагрузку: добавление "=", чтобы обеспечить правильную заполнение, а затем использовать `base64toString`, чтобы декодировать ее.
- Parse Json: используйте функцию `json`, чтобы проанализировать декодированную полезную нагрузку.

For a more reusable approach, consider creating a child Logic App specifically for parsing JWT tokens, as described in[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-restrest/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/