Azure Active Directory Authentication Library

Avviso

Questo contenuto riguarda l'endpoint di Azure AD v1.0 meno recente. Per i nuovi progetti, usare Microsoft Identity Platform.

Azure Active Directory Authentication Library (ADAL) versione 1.0 consente agli sviluppatori di applicazioni di autenticare gli utenti in Active Directory (AD) locale o nel cloud e di ottenere token per proteggere le chiamate API. ADAL semplifica l'autenticazione per gli sviluppatori grazie a funzionalità come:

  • Cache dei token configurabili in cui archiviare i token di accesso e i token di aggiornamento
  • Aggiornamento del token automatico quando un token di accesso scade ed è disponibile un token di aggiornamento
  • Supporto per le chiamate di metodo asincrone

Nota

Cercare le librerie di Azure AD v2.0? Controllare la Guida alle librerie MSAL.

Avviso

Azure Active Directory Authentication Library (ADAL) è stato deprecato. Usare Microsoft Authentication Library (MSAL). Se sono presenti applicazioni che usano ADAL, assicurarsi di eseguirne la migrazione a MSAL.

Librerie client supportate da Microsoft

Piattaforma Libreria Scarica Codice sorgente Esempio Riferimento
.NET Client, Windows Store, UWP, Xamarin iOS e Android ADAL .NET v3 NuGet GitHub App desktop
JavaScript ADAL.js GitHub GitHub App a singola pagina
iOS, macOS ADAL GitHub GitHub App iOS
Android ADAL Maven GitHub App Android JavaDocs
Node.js ADAL npm GitHub App Web Node. js Riferimento
Java ADAL4J Maven GitHub App Web Java Riferimento
Python ADAL GitHub GitHub App Web Python Riferimento

Librerie server supportate da Microsoft

Piattaforma Libreria Scarica Codice sorgente Esempio Informazioni di riferimento
.NET OWIN per AzureAD NuGet GitHub Applicazione MVC
.NET OWIN per OpenIDConnect NuGet GitHub App Web
.NET OWIN per WS-Federation NuGet GitHub App Web MVC
.NET Estensioni del protocollo di identità per .NET 4.5 NuGet GitHub
.NET Gestore token JWT per .NET 4.5 NuGet GitHub
Node.js Passport Azure AD npm GitHub API Web

Scenari

Ecco tre scenari comuni per l'uso di ADAL in un client che accede a una risorsa remota:

Autenticazione di utenti di un'applicazione client nativa in esecuzione su un dispositivo

In questo scenario uno sviluppatore ha un'applicazione client per dispositivi mobili o desktop che deve accedere a una risorsa remota, ad esempio un'API Web. L'API Web non consente chiamate anonime e deve essere chiamata nel contesto di un utente autenticato. L'API Web è stata preconfigurata per considerare attendibili i token di accesso rilasciati da uno specifico tenant di Azure AD. Azure AD è preconfigurato per rilasciare token di accesso per tale risorsa. Per chiamare l'API Web dal client, lo sviluppatore usa ADAL per semplificare l'autenticazione con Azure AD. Il modo più sicuro per usare ADAL è fare in modo che esegua il rendering dell'interfaccia utente per raccogliere le credenziali dell'utente (il rendering viene eseguito come finestra del browser).

ADAL agevola l'autenticazione dell'utente, il recupero di un token di accesso e di un token di aggiornamento da Azure AD e quindi chiama l'API Web usando il token di accesso.

Per un esempio di codice che illustra questo scenario usando l'autenticazione ad Azure AD, vedere chiamata di un'API Web da parte di un'applicazione WPF client nativa.

Autenticazione di un'applicazione client riservata in esecuzione in un server Web

In questo scenario uno sviluppatore ha un'applicazione in esecuzione in un server che deve accedere a una risorsa remota, ad esempio un'API Web. L'API Web non consente chiamate anonime, pertanto deve essere chiamata da un servizio autorizzato. L'API Web è stata preconfigurata per considerare attendibili i token di accesso rilasciati da uno specifico tenant di Azure AD. Azure AD è preconfigurato per rilasciare token di accesso per quella risorsa a un servizio con le credenziali del client (ID client e segreto). ADAL facilita l'autenticazione del servizio con Azure AD restituendo un token di accesso che può essere usato per chiamare l'API Web. ADAL gestisce anche la durata del token di accesso memorizzandolo nella cache e rinnovandolo quando necessario. Per un esempio di codice che illustra questo scenario, vedere Daemon console Application to Web API (Accesso di un'applicazione console daemon a un'API Web).

Autenticazione di un'applicazione client riservata in esecuzione in un server, per conto di un utente

In questo scenario uno sviluppatore ha un'applicazione Web in esecuzione in un server che deve accedere a una risorsa remota, ad esempio un'API Web. L'API Web non consente chiamate anonime, pertanto deve essere chiamata da un servizio autorizzato per conto di un utente autenticato. L'API Web è preconfigurato per i token di accesso attendibili emessi da un tenant Microsoft Entra specifico e Microsoft Entra ID è preconfigurato per rilasciare token di accesso per tale risorsa a un servizio con credenziali client. Dopo l'autenticazione dell'utente nell'applicazione Web, l'applicazione può ottenere un codice di autorizzazione per l'utente da Microsoft Entra ID. L'applicazione Web può quindi usare ADAL per ottenere un token di accesso e un token di aggiornamento per conto di un utente usando il codice di autorizzazione e le credenziali client associate all'applicazione da Microsoft Entra ID. Non appena l'applicazione Web è in possesso del token di accesso, può chiamare l'API Web fino a quando il token non raggiunge la data di scadenza. Alla scadenza del token, l'applicazione Web potrà usare ADAL per ottenere un nuovo token di accesso usando il token di aggiornamento ricevuto in precedenza. Per un esempio di codice che illustra questo scenario, vedere Native client to Web API to Web API (Accesso di un client nativo a un'API Web).

Vedere anche