Integrare un plug-in API con un'API protetta con OAuth
Un altro modello comune di protezione delle API è l'uso di OAuth. OAuth è un protocollo standard di settore per l'autorizzazione. OAuth protegge l'accesso alle risorse usando i token di accesso. Per ottenere un token di accesso, registrare un'applicazione con il provider di identità e specificarne il tipo, ad esempio client pubblico o riservato. A seconda del tipo di applicazione, potrebbe essere necessario configurare impostazioni aggiuntive, ad esempio un segreto o un certificato.
Quando gli utenti aprono l'applicazione, avvia il processo di recupero di un token di accesso. I passaggi esatti che l'applicazione segue dipendono dal tipo di applicazione e dal flusso usato. Quando gli utenti completano il flusso di autorizzazione, ottengono un token di accesso che possono usare per chiamare l'API.
Quando si integrano i plug-in API con l'API protetta con OAuth, sono necessari l'ID client e il segreto client dell'applicazione che protegge l'API. Sono necessari anche gli endpoint di autorizzazione, token e facoltativamente di aggiornamento del provider di identità. Microsoft 365 Copilot usa queste informazioni per eseguire l'autenticazione con l'API per conto dell'utente corrente e ottenere un token di accesso. Poiché le informazioni sono riservate, le si archivia in modo sicuro nel percorso di archiviazione sicuro in Microsoft 365, noto anche come insieme di credenziali. Quindi, nell'app si fa riferimento all'ID della voce dell'insieme di credenziali. In fase di esecuzione, l'agente dichiarativo carica il plug-in (2) e recupera le informazioni dalla voce designata (3a). L'agente dichiarativo segue il tipo di concessione del codice di autorizzazione, noto anche come flusso del codice di autenticazione, per ottenere un token di accesso (3b) usato per chiamare l'API (3c). Lo schema seguente illustra questo processo.
Quando si configurano le informazioni OAuth per il plug-in, è possibile abilitare facoltativamente la chiave di verifica per lo scambio di codice (PKCE). Anche se si protegge il plug-in API con un client riservato, Microsoft consiglia di usare PKCE perché aggiunge un ulteriore livello di sicurezza all'applicazione con un sovraccarico minimo.
L'archiviazione delle informazioni OAuth nell'insieme di credenziali consente di mantenerle sicure e di non esporrle al client. Poiché il plug-in fa riferimento solo alla voce, è anche possibile aggiornare il segreto client senza dover ridistribuire il plug-in.
Durante lo sviluppo, è possibile registrare manualmente le informazioni OAuth di sviluppo nell'insieme di credenziali passando al portale per sviluppatori di Teams e dalla sezione Strumenti che apre la registrazione client OAuth o usando Microsoft 365 Agents Toolkit. Nell'ambiente di produzione, in genere un amministratore registra le informazioni OAuth e fornisce l'ID della voce dell'insieme di credenziali da usare nel plug-in API.