Librerie di autenticazione di Azure Active Directory 2.0

L'endpoint di Azure Active Directory (Azure AD) 2.0 supporta i protocolli standard del settore OAuth 2.0 e OpenID Connect 1.0. Con l'endpoint 2.0 è possibile usare varie librerie di Microsoft e altre organizzazioni.

Quando si compila un'applicazione che usa l'endpoint 2.0, è consigliabile usare raccolte scritte da esperti del dominio del protocollo che seguono una metodologia Security Development Lifecycle (SDL), come quella seguita da Microsoft. Se si decide di creare manualmente il codice per il supporto dei protocolli, è consigliabile seguire la metodologia SDL e prestare attenzione alle considerazioni sulla sicurezza contenute nelle specifiche degli standard di ogni protocollo.

Nota

Si cercano le librerie v1.0 di Azure AD (ASAL)? Controllare la Guida alle librerie ADAL.

Tipi di librerie

L'endpoint di Azure AD v2.0 usa due tipi di librerie:

  • Librerie client. I server e i client nativi usano le librerie client per ottenere i token di accesso per chiamare una risorsa, ad esempio Microsoft Graph.
  • Librerie middleware server. Le librerie middleware server vengono usate dalle app Web per l'accesso degli utenti e dalle API Web per convalidare i token inviati da client nativi o altri server.

Supporto per le librerie

Dato che è possibile scegliere qualsiasi libreria conforme agli standard quando si usa l'endpoint 2.0, è importante sapere a chi rivolgersi per ottenere supporto. Per richieste relative a problemi e funzionalità nel codice della libreria, contattare il proprietario della libreria. Per richieste relative a problemi e funzionalità nell'implementazione del protocollo sul lato del servizio, contattare Microsoft.

Le librerie dispongono di due categorie di supporto:

  • Librerie supportate da Microsoft. Microsoft offre aggiornamenti per queste librerie, a cui ha applicato la due diligence SDL.
  • Librerie compatibili. Microsoft ha testato queste librerie in scenari di base e ne ha confermato il funzionamento con l'endpoint 2.0. Microsoft non fornisce correzioni per queste librerie e non ha eseguito una verifica su di esse. Le richieste relative a problemi e funzionalità devono essere indirizzate al progetto open source della libreria.

Per un elenco delle librerie che funzionano con l'endpoint 2.0, vedere le sezioni successive di questo articolo.

Librerie client supportate da Microsoft

Importante

Le librerie di anteprima MSAL sono adatte per essere usate in ambienti di produzione. Per queste librerie viene fornito lo stesso supporto di livello produzione offerto per le librerie di produzione correnti (ADAL). In fase di anteprima è possibile apportare modifiche all'API MSAL, al formato della cache interna e ad altri meccanismi delle librerie senza preavviso, ma queste modifiche dovranno essere replicate durante le correzioni di bug o i miglioramenti delle funzionalità. Possono infatti incidere sull'applicazione. Una modifica al formato della cache, ad esempio, può incidere sugli utenti chiedendo loro di accedere di nuovo. Per aggiornare il codice è possibile che sia necessario modificare l'API. Quando si fornisce la release di disponibilità generale, agli utenti viene chiesto di eseguire l'aggiornamento alla versione di disponibilità generale entro sei mesi, poiché le applicazioni scritte usando una versione di anteprima possono non funzionare più.

Piattaforma Libreria Download Codice sorgente Esempio Riferimento
.NET Client, Windows Store, UWP, Xamarin iOS e Android MSAL .NET (anteprima) NuGet GitHub App desktop
JavaScript MSAL.js (anteprima) GitHub GitHub App a pagina singola
iOS, macOS MSAL (anteprima) GitHub GitHub App iOS
Android MSAL (anteprima) Repository centrale GitHub App Android JavaDocs

Librerie middleware server supportate da Microsoft

Piattaforma Libreria Download Codice sorgente Esempio Riferimento
.NET 4.x Middleware OWIN OpenID Connect NuGet CodePlex Applicazione MVC
.NET 4.x Middleware OWIN OAuth Bearer per Azure AD NuGet CodePlex
.NET 4.x Gestore token JWT per .NET 4.5 NuGet GitHub
.NET Core Middleware ASP.NET OpenID Connect Microsoft.AspNetCore.Authentication.OpenIdConnect (NuGet) ASP.NET Security (GitHub) App MVC
.NET Core Middleware ASP.NET OAuth Bearer Microsoft.AspNetCore.Authentication.OAuth (NuGet) ASP.NET Security (GitHub)
.NET Core Gestore token JWT per .NET Core NuGet GitHub
Node.js Passport Azure AD npm GitHub App Web

Librerie client compatibili

Piattaforma Nome libreria Versione testata Codice sorgente Esempio
Android OIDCAndroidLib 0.2.1 OIDCAndroidLib Esempio di app nativa
iOS NXOAuth2Client 1.2.8 NXOAuth2Client Esempio di app nativa
JavaScript Hello.js 1.13.5 Hello.js SPA

Librerie middleware server compatibili

Piattaforma Nome libreria Versione testata Codice sorgente Esempio
Java Scribe Java scribejava Versione 3.2.0 ScribeJava
PHP PHP League oauth2-client Versione 1.4.2 oauth2-client
Python-Flask Flask-OAuthlib 0.9.3 Flask-OAuthlib App Web
Ruby OmniAuth omniauth:1.3.1
omniauth-oauth2:1.4.0
OmniAuth
OmniAuth OAuth2

Per altre informazioni sull'endpoint di Azure AD 2.0, vedere la panoramica del modello app di Azure AD 2.0.