La convalida di un token ID nelle app di logica di Azure comporta diversi passaggi, concentrandosi principalmente sulla garanzia che il token sia autentico e non è stato manomesso. Ecco come puoi avvicinarti a questo:
1. Comprendi i token ID: i token ID sono token Web JSON (JWT) emessi dal server di autorizzazione per confermare l'identità di un utente. Contengono reclami sull'utente e vengono utilizzati per l'autenticazione, non per l'autorizzazione [3].
2. Convalida il token:
- Emittente: assicurarsi che il token sia stato emesso dall'autorità prevista, come `https://login.microsoftonline.com/ {tenantid}/v2.0`.
- Pubblico: verificare che il token sia destinato alla tua applicazione controllando il reclamo `Aud` corrisponde all'ID client dell'applicazione.
- TimeStamps: verificare che i timestamp `` iat`, nbf` e `exp` siano validi, garantendo che il token non sia scaduto o non ancora valido [3].
3. Utilizzare una libreria di convalida: invece di convalidare manualmente il token, utilizzare una libreria progettata per la convalida JWT per verificare la firma e i reclami. Questo approccio aiuta a prevenire insidie comuni e garantisce la sicurezza [3].
4. Integra con le app logiche di Azure:
- Nella tua app logica, è possibile utilizzare le opzioni di autenticazione per convalidare i token. Ad esempio, è possibile impostare una politica di autorizzazione che controlla l'emittente e le affermazioni del pubblico [9].
- Utilizzare la vista del codice dell'app logica per includere le intestazioni di autorizzazione nelle uscite del trigger, consentendo di accedere e convalidare il token all'interno del flusso di lavoro [9].
5. Identità gestite per una maggiore sicurezza:
- Sebbene non direttamente correlato alla convalida dei token ID, l'utilizzo delle identità gestite nelle app di logica di Azure può migliorare la sicurezza complessiva eliminando la necessità di gestire le credenziali per l'autenticazione [2] [11].
Seguendo questi passaggi, è possibile convalidare efficacemente i token ID all'interno di app di logica di Azure, garantendo che solo gli utenti autenticati possano attivare i flussi di lavoro.
Citazioni:
[1] https://www.linkedin.com/pulse/securing-request basato su-rulled-logic-apps-using-azure-senih
[2] https://docs.azure.cn/en-us/logic-apps/logic-apps-securing-a-logic-app
[3] https://docs.azure.cn/en-us/entra/idenza-platform/id-tokens
[4] https://stackoverflow.com/questions/50239472/how-to-use-odata-id-in-json-body-when-using-the-http-action-in-azure-logic-ap/50251779
[5] https://stackoverflow.com/questions/58821345/logic-app-calling-webapi-with-manage- identità-what-kind-ole-token-is-added-to-re
[6] https://www.youtube.com/watch?v=tgjic_go1qk
[7] https://www.youtube.com/watch?v=zvijhve0muu
[8] https://github.com/azure/azure-functions-host/issues/10532
[9] https://autosysops.com/blog/parse-jwt-tokens-in-azure-logic-apps
[10] https://learn.microsoft.com/en-us/azure/logic-apps/logic-apps-custom-api-uhentication
[11] https://learn.microsoft.com/en-us/azure/logic-apps/authenicate --with-managed-identy