Configurando os tempos de expiração do token nos aplicativos lógicos do Azure envolve a compreensão de como os tokens de acesso e os tokens de atualização funcionam na estrutura do OAuth 2.0. Aqui está um guia passo a passo sobre como gerenciar a expiração do token:
Compreendendo a vida útil do token
- Tokens de acesso: esses são tokens de curta duração usados para acessar recursos protegidos. Eles normalmente expira após 60 a 90 minutos, dependendo do aplicativo do cliente e das configurações de inquilino [6]. Você não pode prolongar diretamente a vida útil deles, mas pode usar tokens de atualização para obter novos tokens de acesso quando necessário.
- Atualizar tokens: eles são usados para obter novos tokens de acesso quando os existentes expirarem. Os tokens de atualização têm uma vida útil mais longa, normalmente 90 dias por padrão [5].
Configurando a expiração do token em aplicativos lógicos do Azure
1. Use tokens de atualização:
- Quando você configura o OAuth 2.0 em seu aplicativo lógico, verifique se você configura os tokens de acesso e atualização. Isso permite que seu aplicativo solicite automaticamente um novo token de acesso quando o atual expirar [1] [3].
2. Implementar a lógica de renovação do token:
- Crie uma ação de aplicativo lógica que verifique se o token de acesso está prestes a expirar. Nesse caso, use o token de atualização para obter um novo token de acesso. Isso pode ser feito fazendo uma solicitação HTTP no ponto final do token com o token de atualização [3].
3. Tokens de armazenamento com segurança:
- Use o Azure Key Vault para armazenar com segurança IDs de clientes, segredos do cliente e acessar tokens. Isso garante que informações confidenciais não sejam expostas e possam ser facilmente atualizadas quando os tokens são atualizados [3].
4. Monitor de expiração do token:
- Para segredos do cliente, que expiram após um máximo de 24 meses, use aplicativos lógicos para monitorar suas datas de validade e enviar lembretes. Isso garante que seu aplicativo permaneça funcional atualizando segredos antes de expirar [2].
lógica de exemplo para renovação do token
No seu aplicativo lógico, você pode adicionar uma etapa para verificar se o token de acesso está prestes a expirar. Aqui está um exemplo simplificado de como você pode implementar isso usando expressões personalizadas:
1. Verifique a expiração do token:
- Use uma condição para verificar se o token está prestes a expirar com base em seu tempo de validade.
2. Atualizar o token:
- Se o token estiver expirando em breve, use uma ação HTTP para enviar uma solicitação ao terminal do token com o token de atualização. A solicitação deve incluir o ID do cliente e o segredo do cliente para autenticação.
3. Token de atualização:
- Armazene o novo token de acesso com segurança no Key Vault e atualize quaisquer ações subsequentes para usar o novo token.
Ao implementar essas etapas, você pode gerenciar efetivamente a expiração do token em aplicativos lógicos do Azure e garantir a operação contínua de seus fluxos de trabalho.
Citações:
[1] https://devforum.zoom.us/t/acccess-token-expires-after-one-hour-so-my-logic-app-flowstep-runs-ly-one-hour-no-renoned/99225
[2] https://community.dynamics.com/blogs/post/?postid=662760c7-e0cc-4ca5-b5e4-80962f9b926f
[3] https://gotoguy.blog/2020/12/05/blog-series-powowering-your-home- office-lights-part-4-using-logic-apps-to-get-access-token-wer-renew-acess-token-f-needed/comment-page----1/
[4] https://learnsentinel.blog/2021/12/01/using-logic-apps-and-microsoft-sentinel-to-alert-on-expiring-azure-ad-secrets/
[5] https://learn.microsoft.com/en-us/answers/questions/843346/how-to-change-token-expiration-time-in-azure-porta
[6] https://docs.azure.cn/en-us/entra/identity-platform/configurable-token-lifetimes
[7] https://community.dynamics.com/forums/thread/details/?threadid=0cedd8c8-4382-4f02-9d86-8cfbcaa41c54
[8] https://www.youtube.com/watch?v=vjpihv2cnwa
[9] https://www.restack.io/p/azure-logic-app-bearer-teken-answer-cat-ai