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).