Sì, è possibile utilizzare token di aggiornamento insieme a token di accesso e ID nelle app di logica di Azure. Ecco come funziona:
1. Token di accesso: questi sono token di breve durata utilizzati per accedere alle risorse protette. Di solito scadono dopo un breve periodo, come un'ora [1] [3].
2. Aggiorna token: questi sono token a lungo termine utilizzati per ottenere nuovi token di accesso quando la corrente scade. In Azure, i token di aggiornamento possono durare fino a 90 giorni per la maggior parte degli scenari [3]. È possibile utilizzare un token di aggiornamento per ottenere un nuovo token di accesso inviando una richiesta all'endpoint token con il token di aggiornamento [1] [6].
3. Token ID: questi vengono utilizzati per l'autenticazione e contengono informazioni sull'utente. Sebbene non siano direttamente correlati al processo di aggiornamento, fanno parte del flusso OAuth che include anche token di accesso e aggiornamento [8].
Per implementare i token di aggiornamento nelle app di logica di Azure, è possibile creare un flusso di lavoro che controlla se un token di accesso sta per scadere e quindi utilizza il token di aggiornamento per ottenere un nuovo token di accesso. Questo può essere automatizzato pianificando l'app logica da eseguire periodicamente, ad esempio ogni 59 minuti, per garantire che il token di accesso rimanga valido [7] [6].
Ecco uno schema di base su come potresti implementarlo in un'app logica:
- Passaggio 1: ottenere un token di accesso iniziale e un token di aggiornamento.
- Passaggio 2: utilizzare il token di accesso per eseguire azioni.
- Passaggio 3: prima della scadenza del token di accesso, utilizzare il token di aggiornamento per ottenere un nuovo token di accesso.
- Passaggio 4: aggiorna tutti i token di accesso memorizzati con quello nuovo.
- Passaggio 5: ripetere il processo secondo necessità.
Questo approccio garantisce un accesso continuo alle risorse protette senza intervento manuale.
Citazioni:
[1] https://devforum.zoom.us/t/access-token-expires-after-one-hour-so-my-logic-app-flowstep-runs-ony-hour-nornew/99225
[2] https://security.stackexchange.com/questions/194774/how-to-handle-refresh-tokens
[3] https://learn.microsoft.com/en-us/entra/identaty-platform/refresh-tokens
[4] https://auth0.com/blog/refresh-tokens-what-alare-they-and-when-to-use-them/
[5] https://github.com/azure/logicapps/discussions/664
[6] https://gotoguy.blog/2020/12/05/blog-series-powering-up--home-sement-ights-part-4-using-logic-apps-to-get-access-token-and-renew-access-token-if-needed/
[7] https://www.reddit.com/r/azure/comments/xl06hh/new_to_azure_can_azure_logic_apps_help_me_keep_an/
[8] https://learn.microsoft.com/en-us/azure/active-drectory-b2c/tokens-overview
[9] https://stackoverflow.com/questions/77085349/azure-logic-apps-azure-ad-refresh-token-module