Introduzione ad Android per Azure ADAzure AD Android getting started

Se si sviluppa un'applicazione Android, con Microsoft l'accesso ai dati degli utenti di Azure Active Directory (Azure AD) è semplice e diretto.If you're developing an Android application, Microsoft makes it simple and straightforward to sign in Azure Active Directory (Azure AD) users. Azure AD consente all'applicazione di accedere ai dati degli utente tramite Microsoft Graph o la propria API Web protetta.Azure AD enables your application to access user data through the Microsoft Graph or your own protected web API.

La libreria di Android Azure AD Authentication Library (ADAL) consente all'app di iniziare a usare il cloud di Microsoft Azure & API Microsoft Graph grazie al supporto degli account Microsoft Azure Active Directory che usano lo standard di settore OAuth2 e OpenID Connect.The Azure AD Authentication Library (ADAL) Android library gives your app the ability to begin using the Microsoft Azure Cloud & Microsoft Graph API by supporting Microsoft Azure Active Directory accounts using industry standard OAuth2 and OpenID Connect. Questo esempio illustra tutti i normali cicli di vita dell'app, tra cui:This sample demonstrates all the normal lifecycles your application should experience, including:

  • Ottenere un token per Microsoft GraphGet a token for the Microsoft Graph
  • Aggiornare un tokenRefresh a token
  • Chiamare Microsoft GraphCall the Microsoft Graph
  • Disconnettere l'utenteSign out the user

Per iniziare, sarà necessario un tenant di Azure AD in cui poter creare gli utenti e registrare un'applicazione.To get started, you'll need an Azure AD tenant where you can create users and register an application. Se non si ha già un tenant, vedere le informazioni su come ottenerne uno.If you don't already have a tenant, learn how to get one.

Scenario: Accedere agli utenti e chiamare Microsoft GraphScenario: Sign in users and call the Microsoft Graph

Topologia

Questa app può essere usata per tutti gli account Azure AD.This app can be used for all Azure AD accounts. Supporta sia gli scenari con una sola organizzazione che quelli con più organizzazioni (illustrati nei passaggi).It supports both single and multi-organizational scenarios (discussed in steps). Illustra come uno sviluppatore può compilare app per la connessione agli utenti aziendali e l'accesso ai dati di Azure e O365 tramite Microsoft Graph.It demonstrates how a developer can build apps to connect with enterprise users and access their Azure + O365 data via the Microsoft Graph. Durante il flusso di autorizzazione, gli utenti finali dovranno effettuare l'accesso e dare il consenso per le autorizzazioni dell'applicazione. In alcuni casi potrebbe essere necessario che sia un amministratore a dare il consenso per l'app.During the auth flow, end users will be required to sign in and consent to the permissions of the application, and in some cases may require an admin to consent to the app. La maggior parte della logica in questo esempio mostra come autorizzare un utente finale ed eseguire una chiamata di base a Microsoft Graph.The majority of the logic in this sample shows how to auth an end user and make a basic call to the Microsoft Graph.

Codice di esempioExample code

Il codice di esempio completo è disponibile in GitHub.You can find the full sample code on Github.

// Initialize your app with MSAL
AuthenticationContext mAuthContext = new AuthenticationContext(
        MainActivity.this, 
        AUTHORITY, 
        false);


// Perform authentication requests
mAuthContext.acquireToken(
    getActivity(), 
    RESOURCE_ID, 
    CLIENT_ID, 
    REDIRECT_URI,  
    PromptBehavior.Auto, 
    getAuthInteractiveCallback());

// ...

// Get tokens to call APIs like the Microsoft Graph
mAuthResult.getAccessToken()

Passaggi da eseguireSteps to run

Registrare e configurare l'appRegister and configure your app

Sarà necessaria un'applicazione client nativa registrata con Microsoft tramite il portale di Azure.You will need to have a native client application registered with Microsoft using the Azure portal.

  1. Passaggio alla registrazione dell'appGetting to app registration

    • Passare al portale di Azure.Navigate to the Azure portal.
    • Passare ad Azure Active Directory > Registrazioni per l'app.Select Azure Active Directory > App Registrations.
  2. Creare l'appCreate the app

    • Selezionare Registrazione nuova applicazione.Select New application registration.
    • Immettere un nome per l'app nel campo Nome.Enter an app name in the Name field.
    • In Tipo applicazione selezionare Nativo.In Application type select Native.
    • In URI di reindirizzamento immettere http://localhost.In Redirect URI, enter http://localhost.
  3. Configurare Microsoft GraphConfigure Microsoft Graph

    • Selezionare Impostazioni > Autorizzazioni necessarie.Select Settings > Required Permissions.
    • Selezionare Aggiungi e in Selezionare un'API selezionare Microsoft Graph.Select Add, inside Select an API select Microsoft Graph.
    • Selezionare l'autorizzazione Accedi e leggi il profilo di un altro utente, quindi fare clic su Selezione per salvare.Select the permission Sign in and read user profile, then hit Select to save.
      • Questa autorizzazione esegue il mapping all'ambito User.Read.This permission maps to the User.Read scope.
    • Facoltativo: in Autorizzazioni necessarie > Microsoft Azure Active Directory rimuovere l'autorizzazione selezionata Accedi e leggi il profilo di un altro utente.Optional: Inside Required permissions > Windows Azure Active Directory, remove the selected permission Sign in and read user profile. In questo modo si eviterà che la pagina di consenso dell'utente elenchi due volte l'autorizzazione.This will avoid the user consent page listing the permission twice.
  4. Congratulazioni.Congrats! L'app è stata configurata correttamente.Your app is successfully configured. Nella sezione seguente sarà necessario:In the next section, you'll need:

    • Application ID
    • Redirect URI

Scaricare il codice di esempioGet the sample code

  1. Clonare il codice.Clone the code. git clone https://github.com/Azure-Samples/active-directory-android
  2. Aprire l'esempio in Android Studio.Open the sample in Android Studio.
    • Selezionare Open an existing Android Studio project (Apri un progetto di Android Studio esistente).Select Open an existing Android Studio project.

Configurare il codiceConfigure your code

È possibile trovare tutta la configurazione per questo esempio di codice nel file src/main/java/com/azuresamples/azuresampleapp/MainActivity.java.You can find all the configuration for this code sample in the src/main/java/com/azuresamples/azuresampleapp/MainActivity.java file.

  1. Sostituire la costante CLIENT_ID con ApplicationID.Replace the constant CLIENT_ID with the ApplicationID.
  2. Sostituire la costante REDIRECT URI con Redirect URI configurato prima (http://localhost).Replace the constant REDIRECT URI with the Redirect URI you configured earlier (http://localhost).

Eseguire l'esempioRun the sample

  1. Selezionare Compilazione > Pulisci progetto.Select Build > Clean Project.
  2. Selezionare Esegui > (Esegui app).Select Run > Run app.
  3. L'app verrà compilata e verranno visualizzate alcune funzionalità di base dell'esperienza utente.The app should build and show some basic UX. Quando si fa clic sul pulsante Call Graph API, verrà chiesto un nome di accesso e quindi verrà effettuata una chiamata automatica all'API Microsoft Graph con il nuovo token.When you click the Call Graph API button, it will prompt for a sign in, and then silently call the Microsoft Graph API with the new token.

Informazioni importantiImportant info

  1. Vedere il wiki su ADAL per Android per altre informazioni sui meccanismi della libreria e su come configurare nuovi scenari e funzionalità.Checkout the ADAL Android Wiki for more info on the library mechanics and how to configure new scenarios and capabilities.
  2. Negli scenari nativi l'app userà un'istanza di WebView incorporata e non uscirà dall'app.In Native scenarios, the app will use an embedded Webview and will not leave the app. Redirect URI può essere arbitrario.The Redirect URI can be arbitrary.
  3. Per eventuali problemi o richieste,Find any problems or have requests? è possibile creare un problema o un post in Stackoverflow con il tag azure-active-directory.You can create an issue or post on Stackoverflow with the tag azure-active-directory.

Accesso Single Sign-On tra appCross-app SSO

Informazioni su Come abilitare l'accesso Single Sign-On tra app su Android usando ADAL.Learn how to enable cross-app SSO on Android by using ADAL.

Telemetria per l'autorizzazioneAuth telemetry

La libreria ADAL espone i dati di telemetria per l'autorizzazione per consentire agli sviluppatori di app di conoscere il comportamento delle app e di offrire esperienze migliori.the ADAL library exposes auth telemetry to help app developers understand how their apps are behaving and build better experiences. Ciò consente di acquisire dati sugli accessi riusciti, sugli utenti attivi e diverse altre importanti informazioni.This allows you to capture sign in success, active users, and several other interesting insights. L'uso dei dati di telemetria per l'autorizzazione richiede agli sviluppatori di app di creare un servizio di telemetria per aggregare e archiviare gli eventi.Using auth telemetry does require app developers to establish a telemetry service to aggregate and store events.

Per altre informazioni sulla telemetria per l'autorizzazione, vedere ADAL Android auth telemetry (Telemetria per l'autorizzazione di ADAL in Android).To learn more about auth telemetry, checkout ADAL Android auth telemetry.

Risorse aggiuntiveAdditional resources

Ottenere aggiornamenti della sicurezza per i prodottiGet security updates for our products

È consigliabile ricevere notifiche in caso di problemi di sicurezza. A tale scopo, visitare la pagina del TechCenter per le notifiche sulla sicurezza tecnica per Microsoft e sottoscrivere gli avvisi di sicurezza.We encourage you to get notifications of when security incidents occur by visiting the TechCenter page for Microsoft technical security notifications and subscribing to security advisory alerts.