Azure Active Directory Authentication LibraryAzure Active Directory Authentication Libraries

Azure Active Directory Authentication Library (ADAL) 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.The Azure Active Directory Authentication Library (ADAL) enables application developers to authenticate users to cloud or on-premises Active Directory (AD), and obtain tokens for securing API calls. ADAL semplifica l'autenticazione per gli sviluppatori grazie a funzionalità come:ADAL makes authentication easier for developers through features such as:

  • Cache dei token configurabili in cui archiviare i token di accesso e i token di aggiornamentoConfigurable token cache that stores access tokens and refresh tokens
  • Aggiornamento del token automatico quando un token di accesso scade ed è disponibile un token di aggiornamentoAutomatic token refresh when an access token expires and a refresh token is available
  • Supporto per le chiamate di metodo asincroneSupport for asynchronous method calls
  • AltroAnd more

Nota

Si cercano le librerie v2.0 di Azure AD (MSAL)?Looking for the Azure AD v2.0 libraries (MSAL)? Controllare la Guida alle librerie MSAL.Checkout the MSAL library guide.

Librerie clientClient Libraries

PiattaformaPlatform LibreriaLibrary DownloadDownload Codice sorgenteSource Code EsempioSample RiferimentoReference
.NET Client, Windows Store, UWP, Xamarin iOS e Android.NET Client, Windows Store, UWP, Xamarin iOS and Android ADAL .NET v3ADAL .NET v3 NuGetNuGet GitHubGitHub App desktopDesktop app RiferimentoReference
.NET Client, Windows Store, Windows Phone 8.1.NET Client, Windows Store, Windows Phone 8.1 ADAL .NET v2ADAL .NET v2 NuGetNuGet GitHubGitHub App desktopDesktop app
JavaScriptJavaScript ADAL.jsADAL.js GitHubGitHub GitHubGitHub App a pagina singolaSingle Page App
iOS, macOSiOS, macOS ADALADAL GitHubGitHub GitHubGitHub App iOSiOS app RiferimentoReference
AndroidAndroid ADALADAL Repository centraleThe Central Repository GitHubGitHub App AndroidAndroid app JavaDocsJavaDocs
Node.jsNode.js ADALADAL npmnpm GitHubGitHub
JavaJava ADAL4JADAL4J GitHubGitHub GitHubGitHub App Web JavaJava web app
PythonPython ADALADAL GitHubGitHub GitHubGitHub

Librerie serverServer Libraries

PiattaformaPlatform LibreriaLibrary DownloadDownload Codice sorgenteSource Code EsempioSample RiferimentiReference
.NET.NET OWIN per AzureADOWIN for AzureAD NuGetNuGet CodePlexCodePlex Applicazione MVCMVC App
.NET.NET OWIN per OpenIDConnectOWIN for OpenIDConnect NuGetNuGet CodePlexCodePlex App WebWeb App
Node.jsNode.js Passport Azure ADAzure AD Passport npmnpm GitHubGitHub API WebWeb API
.NET.NET OWIN per WS-FederationOWIN for WS-Federation NuGetNuGet CodePlexCodePlex App Web MVCMVC Web App
.NET.NET Estensioni del protocollo di identità per .NET 4.5Identity Protocol Extensions for .NET 4.5 NuGetNuGet GitHubGitHub
.NET.NET Gestore token JWT per .NET 4.5JWT Handler for .NET 4.5 NuGetNuGet GitHubGitHub

Librerie client v2.0 (MSAL)v2.0 Client Libraries (MSAL)

L'endpoint di Azure AD v 2.0 combina Azure AD e Account Microsoft in un singolo endpoint.The Azure AD v2.0 endpoint combines Azure AD and Microsoft Accounts behind a single endpoint. Per accedere a questo endpoint, gli sviluppatori possono usare le librerie MSAL di anteprima supportate dalla produzione anziché ADAL.To access this endpoint, developers can use the production-supported preview MSAL libraries instead of ADAL.

PiattaformaPlatform LibreriaLibrary DownloadDownload Codice sorgenteSource Code EsempioSample RiferimentoReference
.NET Client, Windows Store, UWP, Xamarin iOS e Android.NET Client, Windows Store, UWP, Xamarin iOS and Android MSAL per .NET (anteprima)MSAL for .NET (preview) NuGetNuGet GitHubGitHub App desktopDesktop app RiferimentoReference
JavaScriptJavaScript MSAL per JavaScript (anteprima)MSAL for JavaScript (preview) GitHubGitHub GitHubGitHub App a pagina singolaSingle Page App RiferimentoReference
iOSiOS MSAL per iOS (anteprima)MSAL for iOS (preview) GitHubGitHub GitHubGitHub App iOSiOS app RiferimentoReference
AndroidAndroid MSAL per Android (anteprima)MSAL for Android (preview) GitHubGitHub GitHubGitHub App AndroidAndroid app RiferimentoReference

ScenariScenarios

Di seguito sono illustrati i tre scenari comuni in cui è possibile usare Azure AD Authentication Library per l'autenticazione di un client che accede a una risorsa remota:Here are three common scenarios in which ADAL can be used for authenticating a client that accesses a remote resource:

Autenticazione di utenti di un'applicazione client nativa in esecuzione su un dispositivoAuthenticating users of a native client application running on a device

In questo scenario, uno sviluppatore ha un'applicazione client WPF, che deve accedere a una risorsa remota protetta da Azure AD, ad esempio un'API Web.In this scenario, a developer has a WPF client application, that needs to access a remote resource secured by Azure AD, such as a web API. Ha una sottoscrizione di Azure, sa come richiamare l'API Web downstream e sa qual è il tenant di Azure AD usato dall'API Web.He has an Azure subscription, knows how to invoke the downstream web API, and knows the Azure AD tenant that the web API uses. Può quindi usare Azure AD Authentication Library (ADAL) per semplificare l'autenticazione con Azure AD, sia delegando l'esperienza di autenticazione ad ADAL sia gestendo in modo esplicito le credenziali degli utenti.As a result, he can use ADAL to facilitate authentication with Azure AD, either by fully delegating the authentication experience to ADAL or by explicitly handling user credentials. ADAL agevola l'autenticazione dell'utente, il recupero di un token di accesso e di un token di aggiornamento da Azure AD e quindi usa il token di accesso per inviare le richieste all'API Web.ADAL makes it easy to authenticate the user, obtain an access token and refresh token from Azure AD, and then use the access token to make requests to the web API.

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.For a code sample that demonstrates this scenario using authentication to Azure AD, see Native Client WPF Application to Web API.

Autenticazione di un'applicazione client riservata in esecuzione in un server WebAuthenticating a confidential client application running on a web server

In questo scenario, uno sviluppatore ha un'applicazione in esecuzione in un server che deve accedere a una risorsa remota protetta tramite Azure AD, ad esempio un'API Web.In this scenario, a developer has an application running on a server that needs to access a remote resource secured by Azure AD, such as a web API. Ha una sottoscrizione di Azure, sa come richiamare il servizio downstream e sa qual è il tenant di Azure AD usato dall'API Web.He has an Azure subscription, knows how to invoke the downstream service, and knows the Azure AD tenant the web API uses. Può quindi usare Azure AD Authentication Library (ADAL) per semplificare l'autenticazione con Azure AD gestendo in modo esplicito le credenziali dell'applicazione.As a result, he can use ADAL to facilitate authentication with Azure AD by explicitly handling the application’s credentials. ADAL semplifica il recupero di un token da Azure AD perché usa le credenziali client dell'applicazione e quindi il token per inviare richieste all'API Web.ADAL makes it easy to retrieve a token from Azure AD by using the application’s client credential and then use that token to make requests to the web API. ADAL gestisce anche la durata del token di accesso memorizzandolo nella cache e rinnovandolo quando necessario.ADAL also handles managing the lifetime of the access token by caching it and renewing it as necessary. 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).For a code sample that demonstrates this scenario, see Daemon console Application to Web API.

Autenticazione di un'applicazione client riservata in esecuzione in un server, per conto di un utenteAuthenticating a confidential client application running on a server, on behalf of a user

In questo scenario, uno sviluppatore ha un'applicazione in esecuzione in un server che deve accedere a una risorsa remota protetta tramite Azure AD, ad esempio un'API Web.In this scenario, a developer has an application running on a server that needs to access a remote resource secured by Azure AD, such as a web API. La richiesta deve essere inviata per conto di un utente di Azure AD.The request also needs to be made on behalf of an Azure AD user. Ha una sottoscrizione di Azure, sa come richiamare l'API Web downstream e sa qual è il tenant di Azure AD usato dal servizio.He has an Azure subscription, knows how to invoke the downstream web API, and knows the Azure AD tenant the service uses. Una volta che l'utente ha eseguito l'autenticazione con l'applicazione Web, l'applicazione può ottenere un codice di autorizzazione per l'utente da Azure AD.Once the user is authenticated to the web application, the application can get an authorization code for the user from Azure AD. L'applicazione Web può quindi usare Azure AD Authentication Library (ADAL) per ottenere un token di accesso e un token di aggiornamento per conto di un utente da Azure AD usando il codice di autorizzazione e le credenziali client associati all'applicazione.The web application can then use ADAL to obtain an access token and refresh token on behalf of a user using the authorization code and client credentials associated with the application from Azure AD. 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.Once the web application is in possession of the access token, it can call the web API until the token expires. 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.When the token expires, the web application can use ADAL to get a new access token by using the refresh token that was previously received. 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).For a code sample that demonstrates this scenario, see Native client to Web API to Web API.

Vedere ancheSee Also