Perché usare l'endpoint 2.0Should I use the v2.0 endpoint?

Nella compilazione di applicazioni che si integrano con Azure Active Directory è necessario stabilire se l'endpoint 2.0 e i protocolli di autenticazione rispondono ai requisiti previsti.When you build applications that integrate with Azure Active Directory, you need to decide whether the v2.0 endpoint and authentication protocols meet your needs. L'endpoint originale di Azure Active Directory è ancora completamente supportato e, per alcuni aspetti, include più funzionalità della versione 2.0.Azure Active Directory's original endpoint is still fully supported and, in some respects, is more feature rich than v2.0. L'endpoint 2.0 introduce vantaggi significativi per gli sviluppatori.However, the v2.0 endpoint introduces significant benefits for developers.

Di seguito sono riportati alcuni consigli per gli sviluppatori, opportunamente semplificati:Here's our simplified recommendation for developers at this point in time:

  • Se nell'applicazione devono essere supportati account Microsoft personali, usare l'endpoint 2.0.If you must support personal Microsoft accounts in your application, use the v2.0 endpoint. È necessario tuttavia comprendere prima i limiti illustrati in questo articolo.But before you do, be sure that you understand the limitations that we discuss in this article.
  • Se l'applicazione deve supportare solo account Microsoft aziendali o dell'istituto di istruzione, non usare l'endpoint 2.0.If your application only needs to support Microsoft work and school accounts, don't use the v2.0 endpoint. In questo caso, fare riferimento alla Guida per gli sviluppatori di Azure Active Directory.Instead, refer to our Azure AD developer guide.

Nel corso del tempo, l'endpoint 2.0 verrà migliorato per eliminare le restrizioni elencate di seguito, in modo da consentire l'uso esclusivo dell'endpoint 2.0.Over time, the v2.0 endpoint will grow to eliminate the restrictions listed here, so that you will only ever need to use the v2.0 endpoint. Nel frattempo, questo articolo consente di determinare se l'endpoint 2.0 è adatto alle proprie esigenze.In the meantime, this article is intended to help you determine whether the v2.0 endpoint is right for you. L'articolo verrà aggiornato periodicamente per riflettere lo stato corrente dell'endpoint 2.0.We will continue to update this article to reflect the current state of the v2.0 endpoint. È consigliabile tornare a consultarlo regolarmente per valutare i propri requisiti rispetto alle funzionalità della versione 2.0.Check back to reevaluate your requirements against v2.0 capabilities.

Se è disponibile un'app Azure AD che non usa l'endpoint 2.0, non è necessario iniziare da zero.If you have an existing Azure AD app that does not use the v2.0 endpoint, there's no need to start from scratch. In futuro sarà possibile usare le applicazioni di Azure AD esistenti con l'endpoint 2.0.In the future, we will provide a way for you to use your existing Azure AD applications with the v2.0 endpoint.

Restrizioni relative ai tipi di appRestrictions on app types

I tipi di app seguenti non sono attualmente supportati dall'endpoint 2.0.Currently, the following types of apps are not supported by the v2.0 endpoint. Per una descrizione dei tipi di app supportati, vedere Tipi di app per l'endpoint 2.0 di Azure Active Directory.For a description of supported app types, see App types for the Azure Active Directory v2.0 endpoint.

API Web autonomeStandalone Web APIs

È possibile usare l'endpoint 2.0 per compilare un'API Web protetta con OAuth 2.0.You can use the v2.0 endpoint to build a Web API that is secured with OAuth 2.0. L'API Web, tuttavia, può ricevere i token solo da un'applicazione che condivide lo stesso ID applicazione.However, that Web API can receive tokens only from an application that has the same Application ID. Non è possibile accedere a un'API Web da un client con un ID applicazione diversoYou cannot access a Web API from a client that has a different Application ID. perché il client non sarà in grado di richiedere o ottenere autorizzazioni per l'API Web.The client won't be able to request or obtain permissions to your Web API.

Per informazioni su come compilare un'API Web che accetti token da un client con lo stesso ID applicazione, vedere gli esempi di API Web dell'endpoint 2.0 nella sezione Introduzione.To see how to build a Web API that accepts tokens from a client that has the same Application ID, see the v2.0 endpoint Web API samples in our Getting Started section.

Restrizioni relative alle registrazioni di appRestrictions on app registrations

Per ogni app da integrare con l'endpoint 2.0, è necessario attualmente creare una registrazione di app nel nuovo portale di registrazione delle applicazioni Microsoft.Currently, for each app that you want to integrate with the v2.0 endpoint, you must create an app registration in the new Microsoft Application Registration Portal. Le app Azure AD o degli account Microsoft esistenti non sono compatibili con l'endpoint 2.0Existing Azure AD or Microsoft account apps are not compatible with the v2.0 endpoint. né lo sono quelle registrate in qualsiasi portale diverso da quello di registrazione delle applicazioni.Apps that are registered in any portal other than the Application Registration Portal are not compatible with the v2.0 endpoint. In futuro si prevede di offrire un modo per usare un'applicazione esistente come app 2.0,In the future, we plan to provide a way to use an existing application as a v2.0 app. ma attualmente non esiste alcun percorso di migrazione che consenta a un'app esistente di funzionare con l'endpoint 2.0.Currently, though, there is no migration path for an existing app to work with the v2.0 endpoint.

Per le registrazioni di app create nel portale di registrazione delle applicazioni, è necessario anche tenere in considerazione gli aspetti seguenti:In addition, app registrations that you create in the Application Registration Portal have the following caveats:

  • Sono consentiti solo due segreti dell'app per ogni ID applicazione.Only two app secrets are allowed per Application ID.
  • La registrazione di un'app eseguita da un utente con un account Microsoft personale può essere visualizzata e gestita solo da un singolo account sviluppatore.An app registration registered by a user with a personal Microsoft account can be viewed and managed only by a single developer account. Non può essere condiviso tra più sviluppatori.It cannot be shared between multiple developers. Se si vuole condividere la registrazione dell'app tra più sviluppatori, è possibile creare l'applicazione accedendo al portale di registrazione con un account di Azure AD.If you would like to share your app registration amongst multiple developers, you can create the application by signing into the registration portal with an Azure AD account.
  • Sono presenti diverse restrizioni relative al formato dell'URI di reindirizzamento consentito.There are several restrictions on the format of the redirect URI that is allowed. Per altre informazioni sugli URI di reindirizzamento, vedere la sezione successiva.For more information about redirect URIs, see the next section.

Restrizioni relative agli URI di reindirizzamentoRestrictions on redirect URIs

Le app registrate nel portale di registrazione delle applicazioni sono attualmente limitate a un set ristretto di valori di URI di reindirizzamento.Currently, apps that are registered in the Application Registration Portal are restricted to a limited set of redirect URI values. L'URI di reindirizzamento per le app e i servizi Web deve iniziare con lo schema https e tutti i valori degli URI di reindirizzamento devono condividere un singolo dominio DNS.The redirect URI for web apps and services must begin with the scheme https, and all redirect URI values must share a single DNS domain. Non è possibile ad esempio registrare un'app Web con uno di questi URI di reindirizzamento:For example, you cannot register a web app that has one of these redirect URIs:

https://login-east.contoso.com
https://login-west.contoso.com

Il sistema di registrazione confronta l'intero nome DNS dell'URI di reindirizzamento esistente con il nome DNS dell'URI di reindirizzamento da aggiungere.The registration system compares the whole DNS name of the existing redirect URI to the DNS name of the redirect URI that you are adding. La richiesta di aggiungere il nome DNS non viene soddisfatta se si verificano le condizioni seguenti:The request to add the DNS name will fail if either of the following conditions is true:

  • Il nome DNS intero del nuovo URI di reindirizzamento non corrisponde al nome DNS dell'URI di reindirizzamento esistente.The whole DNS name of the new redirect URI does not match the DNS name of the existing redirect URI.
  • Il nome DNS intero del nuovo URI di reindirizzamento non è un sottodominio dell'URI di reindirizzamento esistente.The whole DNS name of the new redirect URI is not a subdomain of the existing redirect URI.

Se ad esempio all'app è associato l'URI di reindirizzamento seguente:For example, if the app has this redirect URI:

https://login.contoso.com

è possibile eseguire un'aggiunta analoga alla seguente:You can add to it, like this:

https://login.contoso.com/new

In questo caso, il nome DNS corrisponde esattamente.In this case, the DNS name matches exactly. In alternativa, è possibile eseguire un'aggiunta analoga alla seguente:Or, you can do this:

https://new.login.contoso.com

In questo caso, si fa riferimento a un sottodominio DNS di login.contoso.com. Se si desidera un'app con URI di reindirizzamento login-east.contoso.com e login-west.contoso.com, è necessario aggiungere tali URI nell'ordine seguente:In this case, you're referring to a DNS subdomain of login.contoso.com. If you want to have an app that has login-east.contoso.com and login-west.contoso.com as redirect URIs, you must add those redirect URIs in this order:

https://contoso.com
https://login-east.contoso.com
https://login-west.contoso.com

Gli ultimi due URI possono essere aggiunti perché si tratta di sottodomini del primo URI di reindirizzamento, ovvero contoso.com. Questa limitazione verrà rimossa in una versione futura.You can add the latter two because they are subdomains of the first redirect URI, contoso.com. This limitation will be removed in an upcoming release.

Si noti inoltre che è possibile avere solo 20 URL di risposta per una determinata applicazione.Also note, you can have only 20 reply URLs for a particular application.

Per informazioni su come registrare un'app nel portale di registrazione delle applicazioni, vedere Come registrare un'app con l'endpoint 2.0.To learn how to register an app in the Application Registration Portal, see How to register an app with the v2.0 endpoint.

Restrizioni relative a servizi e APIRestrictions on services and APIs

L'endpoint 2.0 supporta attualmente l'accesso di qualsiasi app registrata nel portale di registrazione delle applicazioni e presente nell'elenco di flussi di autenticazione supportati.Currently, the v2.0 endpoint supports sign-in for any app that is registered in the Application Registration Portal, and which falls in the list of supported authentication flows. Tali app possono tuttavia acquisire il token di accesso di OAuth 2.0 per un set molto limitato di risorse.However, these apps can acquire OAuth 2.0 access tokens for a very limited set of resources. L'endpoint 2.0 rilascia token di accesso solo per gli elementi seguenti:The v2.0 endpoint issues access tokens only for:

  • L'app che ha richiesto il token.The app that requested the token. Un'app può acquisire un token di accesso per se stessa, se l'app per la logica è costituita da diversi componenti o livelli.An app can acquire an access token for itself, if the logical app is composed of several different components or tiers. Per vedere questo scenario, consultare le esercitazioni nella sezione introduttiva .To see this scenario in action, check out our Getting Started tutorials.
  • Le API REST di Posta, Calendario e Contatti di Outlook che si trovano in https://outlook.office.com. Per informazioni su come scrivere un'app in grado di accedere a queste API, vedere le esercitazioni nella sezione introduttiva di Office.The Outlook Mail, Calendar, and Contacts REST APIs, all of which are located at https://outlook.office.com. To learn how to write an app that accesses these APIs, see the Office Getting Started tutorials.
  • API Microsoft Graph.Microsoft Graph APIs. È possibile accedere ad altre informazioni su Microsoft Graph e sui dati disponibili per l'utente.You can learn more about Microsoft Graph and the data that is available to you.

Attualmente non sono supportati altri servizi.No other services are supported at this time. In futuro verranno aggiunti altri componenti di Microsoft Online Services, oltre al supporto per le API e i servizi Web personalizzati.More Microsoft Online Services will be added in the future, in addition to support for your own custom-built Web APIs and services.

Restrizioni relative alle librerie e agli SDKRestrictions on libraries and SDKs

Il supporto delle librerie per l'endpoint 2.0 è attualmente limitato.Currently, library support for the v2.0 endpoint is limited. Per usare l'endpoint 2.0 in un'applicazione di produzione, sono disponibili le opzioni seguenti:If you want to use the v2.0 endpoint in a production application, you have these options:

  • Se si compila un'applicazione Web, è possibile usare il middleware lato server di Microsoft disponibile a livello generale per eseguire operazioni di accesso e convalida dei token.If you are building a web application, you can safely use Microsoft generally available server-side middleware to perform sign-in and token validation. Sono inclusi il middleware OpenID Connect OWIN per ASP.NET e il plug-in Passport per NodeJS.These include the OWIN Open ID Connect middleware for ASP.NET and the Node.js Passport plug-in. Per esempi di codice che usano il middleware di Microsoft, vedere la sezione Introduzione.For code samples that use Microsoft middleware, see our Getting Started section.
  • Se si compila un'applicazione desktop o portatile, è possibile usare una delle Microsoft Authentication Library (MSAL) di anteprima.If you are building a desktop or mobile application, you can use one of our preview Microsoft Authentication Libraries (MSAL). Queste librerie sono disponibili in anteprima supportata di produzione ed è quindi consigliabile usarle in applicazioni di produzione.These libraries are in a production-supported preview, so it is safe to use them in production applications. Per altre informazioni sui termini e condizioni dell'anteprima e sulle librerie disponibili, vedere l'articolo di riferimento sulle librerie di autenticazione.You can read more about the terms of the preview and the available libraries in our authentication libraries reference.
  • In caso di piattaforme non coperte da librerie Microsoft, è possibile integrarle con l'endpoint 2.0 tramite l'invio e la ricezione diretta di messaggi di protocollo nel codice dell'applicazione.For platforms not covered by Microsoft libraries, you can integrate with the v2.0 endpoint by directly sending and receiving protocol messages in your application code. I protocolli OpenID Connect e OAuth della versione 2.0 sono documentati in modo esplicito per consentire tale integrazione.The v2.0 OpenID Connect and OAuth protocols are explicitly documented to help you perform such an integration.
  • Per realizzare l'integrazione con l'endpoint 2.0, è anche possibile usare librerie OpenID Connect e OAuth di tipo open source.Finally, you can use open-source Open ID Connect and OAuth libraries to integrate with the v2.0 endpoint. Il protocollo della versione 2.0 dovrebbe essere compatibile con molte librerie di protocollo open source senza modifiche rilevanti.The v2.0 protocol should be compatible with many open-source protocol libraries without major changes. La disponibilità di questi tipi di librerie varia in base a linguaggio e piattaforma.The availability of these kinds of libraries varies by language and platform. Nei siti Web di OpenID Connect e OAuth 2.0 è disponibile un elenco delle implementazioni più diffuse.The Open ID Connect and OAuth 2.0 websites maintain a list of popular implementations. Per altre informazioni, vedere Azure Active Directory 2.0 e librerie di autenticazione, l'elenco di librerie client open source e gli esempi testati con l'endpoint 2.0.For more information, see Azure Active Directory v2.0 and authentication libraries, and the list of open-source client libraries and samples that have been tested with the v2.0 endpoint.

Restrizioni relative ai protocolliRestrictions on protocols

L'endpoint 2.0 non supporta protocolli SAML o WS-Federation, ma solo Open ID Connect e OAuth 2.0.The v2.0 endpoint does not support SAML or WS-Federation; it only supports Open ID Connect and OAuth 2.0. Non tutte le funzionalità e caratteristiche dei protocolli OAuth, tuttavia, sono state incorporate nell'endpoint 2.0.Not all features and capabilities of OAuth protocols have been incorporated into the v2.0 endpoint. Di seguito sono elencate le funzionalità e le caratteristiche di protocollo attualmente non disponibili nell'endpoint 2.0:These protocol features and capabilities currently are not available in the v2.0 endpoint:

  • I token ID emessi dall'endpoint 2.0 non contengono alcuna attestazione email per l'utente, anche se si acquisisce l'autorizzazione da parte dell'utente per visualizzare la posta elettronica.ID tokens that are issued by the v2.0 endpoint do not contain an email claim for the user, even if you acquire permission from the user to view their email.
  • L'endpoint UserInfo di OpenID Connect non è implementato nell'endpoint 2.0.The OpenID Connect UserInfo endpoint is not implemented on the v2.0 endpoint. Tutti i dati del profilo utente potenzialmente ricevuti sull'endpoint sono tuttavia disponibili usando l'endpoint /me di Microsoft Graph.However, all user profile data that you potentially would receive at this endpoint is available from the Microsoft Graph /me endpoint.
  • L'endpoint 2.0 non supporta attualmente l'emissione di attestazioni basate su ruolo o gruppo nei token ID.The v2.0 endpoint does not support issuing role or group claims in ID tokens.
  • La concessione OAuth 2.0 Resource Owner Password Credentials Grant non è supportata dall'endpoint 2.0.The OAuth 2.0 Resource Owner Password Credentials Grant is not supported by the v2.0 endpoint.

Tenere presente inoltre che l'endpoint v 2.0 non supporta alcuna forma dei protocolli SAML o WS-Federation.In addtion, the v2.0 endpoint does not support any form of the SAML or WS-Federation protocols.

Per comprendere meglio l'ambito della funzionalità del protocollo supportata nell'endpoint 2.0, vedere l'articolo Riferimento ai protocolli OpenID Connect e OAuth 2.0.To better understand the scope of protocol functionality supported in the v2.0 endpoint, read through our OpenID Connect and OAuth 2.0 protocol reference.

Restrizioni relative agli account aziendali o dell'istituto di istruzioneRestrictions for work and school accounts

Se si usa Active Directory Authentication Library (ADAL) in applicazioni Windows, è possibile che si debba ricorrere all'autenticazione integrata di Windows, che sfrutta la concessione per l'asserzione SAML (Security Assertion Markup Language).If you've used Active Directory Authentication Library (ADAL) in Windows applications, you might have taken advantage of Windows integrated authentication, which uses the Security Assertion Markup Language (SAML) assertion grant. Tale concessione consente agli utenti dei tenant di Azure AD federati di eseguire automaticamente l'autenticazione all'istanza di Active Directory locale senza immettere le credenziali.With this grant, users of federated Azure AD tenants can silently authenticate with their on-premises Active Directory instance without entering credentials. La concessione per l'asserzione SAML non è supportata dall'endpoint 2.0.Currently, the SAML assertion grant is not supported on the v2.0 endpoint.