Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Como faço para recuperar e decodificar um token JWT em um aplicativo lógico


Como faço para recuperar e decodificar um token JWT em um aplicativo lógico


Para recuperar e decodificar um token JWT em um aplicativo lógico, você pode seguir estas etapas:

1. Recupere o token JWT: Primeiro, você precisa obter o token JWT. Isso pode ser feito analisando os cabeçalhos de uma solicitação recebida. Se o token for enviado no cabeçalho `Authorization`, você poderá extraí -lo usando uma ação` parse json` com um esquema que captura a tecla `Authorization`. Em seguida, crie uma variável para manter apenas a parte do token (por exemplo, após "portador") [10].

2. Decode o token JWT: os tokens JWT são codificados por Base64url. Você pode decodificar a parte da carga útil do token usando as funções `split` e` base64ToString` em aplicativos lógicos. Divida o token pelo "". separador para isolar a carga útil. Em seguida, anexa "=" para garantir que o comprimento seja um múltiplo de 4 para a decodificação Base64. Os aplicativos lógicos o converterão implicitamente em uma string base64, que você pode decodificar usando o `base64toString` [1] [3].

3. Analise a carga útil decodificada: Após decodificar a carga útil, você terá uma string json. Use outra ação `parse json` para converter essa string em um objeto JSON com o qual você pode trabalhar em seu aplicativo lógico. Você pode definir um esquema para este objeto JSON com base nas reivindicações esperadas no token JWT [3].

4. Reivindicações de extração: Depois que o JSON é analisado, você pode extrair reivindicações específicas (como ID de usuário ou email) e usá -las conforme necessário no seu fluxo de trabalho de aplicativo lógico.

Essa abordagem permite decodificar e usar tokens JWT diretamente nos aplicativos lógicos do Azure sem precisar criar uma função do Azure ou usar serviços externos para decodificar. No entanto, se você precisar validar o token (verifique sua assinatura), talvez seja necessário usar um serviço externo ou uma função do Azure com uma biblioteca capaz de validação JWT.

Citações:
[1] https://stackoverflow.com/questions/54257879/how-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-vi-poershell
[6] https://supertokens.com/blog/reving-access-with-a-jwt-blacklist
[7] https://techcommunity.microsoft.com/blog/azurevcommunityblog/part-4-secure-your-logic-app-using-api-management-8211-validate-jwt-access-rests/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-a-logic-app/
[11] https://github.com/auth0/jwt-decode