Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon How can I decode a JWT token in Logic Apps


How can I decode a JWT token in Logic Apps


A decodificação de um token JWT em aplicativos lógicos do Azure pode ser alcançada sem o uso de bibliotecas externas como Node.js ou C#. Aqui está uma abordagem passo a passo:

1. Extraia o token JWT: primeiro, você precisa extrair o token JWT da solicitação de entrada. Isso geralmente é encontrado no cabeçalho da 'autorização' da solicitação.

2. Divida o token JWT: os tokens JWT são compostos por três partes separadas por pontos: cabeçalho, carga útil e assinatura. Você precisa dividir o token por esses pontos para isolar a carga útil, que contém os detalhes do usuário.

3. Decode a carga útil: a carga útil é baseada em 64url. Você pode usar a função `base64toString` em aplicativos de lógica para decodificá -lo. No entanto, você precisa garantir que a string base64 seja acolchoada corretamente com "=" para tornar seu comprimento um múltiplo de 4.

4. Parse JSON: Uma vez decodificado, a carga útil será uma string json. Use a função `json` em aplicativos de lógica para analisar essa string em um objeto JSON com o qual você pode trabalhar.

Aqui está um exemplo simplificado de como isso pode parecer nos aplicativos lógicos:

- Divida o token JWT: use uma expressão como `split (triggerbody ()? ['Autorização'], '.')` Para dividir o token.
- Decode a carga útil: Anexe "=" para garantir o preenchimento adequado e, em seguida, use `base64toString` para decodificá -lo.
- Parse json: use a função `json` para analisar a carga útil decodificada.

Para uma abordagem mais reutilizável, considere criar um aplicativo de lógica infantil especificamente para analisar os tokens JWT, conforme descrito em [3]. Isso permite integrar facilmente o JWT analisando vários aplicativos lógicos.

If you need to validate the token (check its signature), you would typically use an external service or library, as Logic Apps does not natively support JWT validation. No entanto, para simplesmente extrair reivindicações sem validação, as etapas acima são suficientes.

Citações:
[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/reving-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/