Nel nostro script #314 abbiamo visto come creare un agente A2A; in questo script ci concentriamo sull'aspetto dell'autenticazione. Quando lavoriamo con Azure Logic Apps Standard e i nuovi Agent workflows, la protezione dell'endpoint pubblico è cruciale. L'autenticazione di App Service, nota anche come Easy Auth, ci permette di delegare a Azure la gestione del login e dei token, evitando di scrivere codice personalizzato. Il vantaggio principale è la semplicità di integrazione con Microsoft Entra ID e la presenza di controlli aggiuntivi lato piattaforma.
Per farlo apriamo la risorsa dell'app che ospita la Logic App Standard e andiamo in Authentication. Per prima cosa aggiungiamo un Identity provider di tipo Microsoft. Creiamo una nuova app registration single tenant, assegniamo un nome riconoscibile e lasciamo la scadenza del client secret suggerita dal portale; al primo accesso vedremo la schermata di consenso con profilo e mantenimento dell'accesso.

.
Subito dopo scorriamo nella stessa pagina fino agli Additional checks: selezioniamo Allow requests only from this application itself per vincolare le chiamate al client registrato e Allow requests from specific identities, inserendo l'object id di chi potrà invocare l'agente. Impostiamo inoltre il requisito di tenant corrente per impedire logon da directory esterne.

Infine abilitiamo Require authentication e per le richieste non autenticate scegliamo il reindirizzamento HTTP 302 verso Microsoft, così da ottenere il flusso di login standard. Attiviamo anche Token store per semplificare la gestione della sessione e, per non interrompere l'authoring, aggiungiamo tra i path esclusi il percorso /runtime/* (già suggerito).

Una volta configurato, andiamo nella scheda Chat: qui viene fornito l'indirizzo del client che possiamo incorporare in un iframe nella nostra applicazione.

Cliccando tale indirizzo viene richiesto il login, che rispetta i vincoli appena impostati; dopo l'accesso vedremo la chat dell'agente pronta all'uso.

Come alternativa al client, possiamo adottare un approccio più generico: per scenari server-to-server utilizziamo l'autenticazione client credentials di OAuth 2.0. Il nostro servizio ottiene un access token dall'app registrata e lo presenta nelle chiamate all'endpoint pubblico dell'agente, senza interazione utente. Questa modalità è ideale per backend, job pianificati o integrazioni applicative e onora gli Additional checks configurati (applicazione, identità e tenant).
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Definire il metodo di rilascio in .NET Aspire
Effettuare un clone parziale di un repository di GitHub
Ottimizzare gli indici con Automatic Index Compaction in Azure SQL Database
Introduzione a GitHub Copilot CLI
Esporre tool MCP da API REST con Azure App Service
Semplificare la gestione dei modelli con Azure AI Foundry Model Router
Controllare la velocità di spostamento su una pagina HTML
Integrare email esterne con Azure Functions e Managed Connectors
Evitare la compressione degli artefatti in un workflow di GitHub
Integrare modelli AI in un workflow di GitHub
Usare la libreria PredicateBuilder per eseguire query tramite Entity Framework che usano or su più campi
Utilizzare il Null conditional assignment di C# 14


