La configuración de los tiempos de expiración de tokens en las aplicaciones de lógica de Azure implica comprender cómo funcionan el acceso a los tokens y actualizar los tokens dentro del marco OAuth 2.0. Aquí hay una guía paso a paso sobre cómo administrar el vencimiento del token:
Comprender la vida útil del token
- Tokens de acceso: estos son tokens de corta duración utilizados para acceder a recursos protegidos. Por lo general, caducan después de 60 a 90 minutos, dependiendo de la aplicación del cliente y la configuración del inquilino [6]. No puede extender directamente su vida útil, pero puede usar tokens de actualización para obtener nuevos tokens de acceso cuando sea necesario.
- Actualizar tokens: se utilizan para obtener nuevos tokens de acceso cuando los existentes expiran. Los tokens de actualización tienen una vida útil más larga, típicamente 90 días por defecto [5].
Configuración de la expiración del token en aplicaciones de lógica de Azure
1. Use tokens de actualización:
- Cuando configure OAuth 2.0 en su aplicación lógica, asegúrese de configurar tanto el acceso como actualizar los tokens. Esto permite que su aplicación solicite automáticamente un nuevo token de acceso cuando la actual expira [1] [3].
2. Implementar la lógica de renovación de tokens:
- Cree una acción de aplicación lógica que verifique si el token de acceso está a punto de caducar. Si es así, use el token de actualización para obtener un nuevo token de acceso. Esto se puede hacer haciendo una solicitud HTTP al punto final del token con el token de actualización [3].
3. Tokens de almacenamiento de forma segura:
- Use Azure Key Vault para almacenar de forma segura las ID de cliente, los secretos del cliente y los tokens de acceso. Esto asegura que la información confidencial no esté expuesta y se pueda actualizar fácilmente cuando se actualizan los tokens [3].
4. Monitorear el vencimiento del token:
- Para los secretos del cliente, que caducan después de un máximo de 24 meses, use aplicaciones lógicas para monitorear sus fechas de vencimiento y enviar recordatorios. Esto garantiza que su aplicación permanezca funcional actualizando secretos antes de que expiren [2].
Ejemplo de lógica para la renovación del token
En su aplicación lógica, puede agregar un paso para verificar si el token de acceso está a punto de caducar. Aquí hay un ejemplo simplificado de cómo podría implementar esto utilizando expresiones personalizadas:
1. Verifique el vencimiento del token:
- Use una condición para verificar si el token está a punto de expirar según su tiempo de vencimiento.
2. Actualizar el token:
- Si el token expira pronto, use una acción HTTP para enviar una solicitud al punto final del token con el token de actualización. La solicitud debe incluir el ID del cliente y el secreto del cliente para la autenticación.
3. Actualizar token:
- Almacene el nuevo token de acceso de forma segura en la bóveda clave y actualice cualquier acción posterior para usar el nuevo token.
Al implementar estos pasos, puede administrar efectivamente la expiración del token en aplicaciones de lógica de Azure y garantizar un funcionamiento continuo de sus flujos de trabajo.
Citas:
[1] https://devforum.zoom.us/t/access-toking-expires-after-one-dour-so-my-logic-app-flowstep-runs-only-one-dour-no-renew/992225
[2] https://community.dynamics.com/blogs/post/?postid=662760c7-e0cc-4ca5-b5e4-80962f9b926f
[3] https://gotoguy.blog/2020/12/05/blog-series-powering-up-your-home-ofice-lights-part-4-using-logic-apps-to-get-access-token-and-enewenw-access-token-ifneeded/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-imento-in-azure-porta
[6] https://docs.azure.cn/en-us/entra/identity-platform/configured-token-lifimes
[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-token-answer-cat-ai