Condividi tramite


Guida introduttiva: Consentire agli utenti di accedere in un'app mobile di esempio

si applica a: cerchio verde con un segno di spunta bianco. inquilini della forza lavoro cerchio verde con un segno di spunta bianco. inquilini esterni (scopri di più)

Prima di iniziare, usa il selettore Scegliere un tipo di tenant nella parte superiore di questa pagina per selezionare il tipo di tenant. Microsoft Entra ID offre due configurazioni tenant, forza lavoro e esterna. La configurazione del tenant della forza lavoro è per i dipendenti, le applicazioni interne e altre risorse dell'organizzazione. Un tenant esterno è destinato alle app rivolte ai clienti.

In questa guida introduttiva si scarica ed esegue un esempio di codice che illustra come un'applicazione Android può accedere agli utenti e ottenere un token di accesso per chiamare l'API Microsoft Graph.

Le applicazioni devono essere rappresentate da un oggetto app in Microsoft Entra ID in modo che Microsoft Identity Platform possa fornire token all'applicazione.

Prerequisiti

  • Un account Azure con una sottoscrizione attiva. Se non ne hai già uno, Crea un account gratuitamente.
  • Questo account di Azure deve disporre delle autorizzazioni per gestire le applicazioni. Uno dei seguenti ruoli di Microsoft Entra include le autorizzazioni necessarie:
    • Amministratore di applicazioni
    • Sviluppatore di applicazioni
  • Inquilino della forza lavoro. Puoi utilizzare la directory predefinita oppure configurare un nuovo tenant.
  • Registrare una nuova app nell'interfaccia di amministrazione di Microsoft Entra configurata per gli account in qualsiasi directory organizzativa e account Microsoft personali. Per altri dettagli, vedere Registrare un'applicazione . Registrare i valori seguenti dalla pagina Panoramica dell'applicazione per usarli in un secondo momento:
    • ID applicazione (cliente)
    • ID della directory (cliente)
  • Android Studio
  • Androide 16+

Aggiungere un URI di reindirizzamento

È necessario configurare URI di reindirizzamento specifici nella registrazione dell'app per garantire la compatibilità con l'esempio di codice scaricato. Questi URI sono essenziali per reindirizzare gli utenti all'app dopo l'accesso.

  1. In Gestisci, seleziona Autenticazione>Aggiungi una piattaforma>Android.

  2. Immettere il nome del pacchetto del progetto in base al tipo di esempio scaricato in precedenza.

    • Esempio Java - com.azuresamples.msalandroidapp
    • Esempio di Kotlin - com.azuresamples.msalandroidkotlinapp
  3. Nella sezione hash della firma del riquadro Configura la tua app Android, selezionare Generare un hash della firma di sviluppo. e copiare il comando KeyTool nella riga di comando.

  4. Immettere il hash della firma generato da KeyTool.

  5. Selezionare Configura e salvare la configurazione MSAL visualizzata nel riquadro di configurazione di Android in modo da poterla immettere quando si configura l'app in un secondo momento.

  6. Selezionare Fine.

Scaricare l'app di esempio

Configurare l'applicazione di esempio

  1. Nel riquadro del progetto di Android Studio, naviga a app\src\main\res.

  2. Fare clic con il pulsante destro del mouse su res e scegliere Nuova>directory. Immettere raw come nome della nuova directory e selezionare OK.

  3. Nell'app >src>main>res>raw, vai al file JSON denominato auth_config_single_account.json e incolla la configurazione MSAL che hai salvato in precedenza.

    Sotto l'URI di reindirizzamento incollare:

      "account_mode" : "SINGLE",
    

    Il file di configurazione dovrebbe essere simile a questo esempio:

    {
      "client_id": "00001111-aaaa-bbbb-3333-cccc4444",
      "authorization_user_agent": "WEBVIEW",
      "redirect_uri": "msauth://com.azuresamples.msalandroidapp/00001111%cccc4444%3D",
      "broker_redirect_uri_registered": false,
      "account_mode": "SINGLE",
      "authorities": [
        {
          "type": "AAD",
          "audience": {
            "type": "AzureADandPersonalMicrosoftAccount",
            "tenant_id": "common"
          }
        }
      ]
    }
    
  4. Apri il file /app/src/main/AndroidManifest.xml.

  5. Trova il segnaposto.

    • enter_the_signature_hash e sostituiscilo con l'hash della firma che hai generato in precedenza quando hai aggiunto l'URL di reindirizzamento della piattaforma.

    Poiché questa esercitazione illustra solo come configurare un'app in modalità Account singolo, vedere modalità account singolo e multiplo e configurazione dell'app per altre informazioni

Eseguire l'app di esempio

Scegli l'emulatore o il dispositivo fisico dall'elenco a discesa dispositivi disponibili di Android Studio e avvia l'app.

L'applicazione di esempio si apre nella schermata modalità a account singolo. Un ambito predefinito, user.read, viene fornito per impostazione predefinita, che viene usato durante la lettura dei dati del proprio profilo durante la chiamata all'API Microsoft Graph. L'URL per la chiamata all'API Microsoft Graph viene fornito per impostazione predefinita. Se lo si desidera, è possibile modificare entrambe le opzioni.

Screenshot dell'app di esempio MSAL che mostra l'utilizzo di account singolo e multiplo.

Usa il menu dell'app per passare tra modalità account singolo e modalità account multiplo.

In modalità account singolo accedere con un account aziendale o home:

  1. Selezionare Ottenere i dati del grafo in modo interattivo per richiedere all'utente le credenziali. L'output della chiamata all'API Microsoft Graph verrà visualizzato nella parte inferiore della schermata.
  2. Dopo aver eseguito l'accesso, selezionare Recupera dati del grafico in modo silenzioso per effettuare una chiamata all'API Microsoft Graph senza richiedere nuovamente le credenziali all'utente. L'output della chiamata all'API Microsoft Graph verrà visualizzato nella parte inferiore della schermata.

In modalità più account è possibile ripetere gli stessi passaggi. Inoltre, è possibile rimuovere l'account connesso, che rimuove anche i token memorizzati nella cache per tale account.

Funzionamento dell'esempio

Diagramma che mostra come funziona l'app di esempio generata da questo quickstart.

Il codice è organizzato in frammenti che mostrano come scrivere un'app MSAL con un singolo e più account. I file di codice sono organizzati come segue:

Documento Dimostra
Attività principale Gestisce l'interfaccia utente
MSGraphRequestWrapper Chiama l'API Microsoft Graph usando il token fornito da MSAL
MultipleAccountModeFragment Inizializza un'applicazione multi-account, carica un account utente e ottiene un token per chiamare l'API Microsoft Graph
SingleAccountModeFragment Inizializza un'applicazione con account singolo, carica un account utente e ottiene un token per chiamare l'API Microsoft Graph
res/auth_config_multiple_account.json File di configurazione multiconto
res/auth_config_single_account.json File di configurazione dell'account singolo
Gradle Scripts/build.grade (Modulo:app) Le dipendenze della libreria MSAL sono aggiunte in questa sezione.

Ora esamineremo questi file in modo più dettagliato ed evidenzieremo il codice specifico di MSAL.

Passaggi successivi

Passare all'esercitazione android in cui si crea un'app Android che ottiene un token di accesso da Microsoft Identity Platform e la usa per chiamare l'API Microsoft Graph.

La guida introduttiva illustra come configurare app Android, .NET MAUI Android e iOS/macOS per consentire agli utenti di accedere registrando le applicazioni, configurando URL di reindirizzamento, aggiornando le configurazioni e testando l'app.

Prerequisiti

  • Un account Azure con una sottoscrizione attiva. Se non ne hai già uno, Crea un account gratuitamente.
  • Questo account di Azure deve disporre delle autorizzazioni per gestire le applicazioni. Uno dei seguenti ruoli di Microsoft Entra include le autorizzazioni necessarie:
    • Amministratore di applicazioni
    • Sviluppatore di applicazioni
  • Un tenant esterno. Per crearne uno, scegliere tra i metodi seguenti:
  • Registrare una nuova app nell'interfaccia di amministrazione di Microsoft Entra, configurata solo per gli account in questa directory organizzativa. Per altri dettagli, vedere Registrare un'applicazione . Registrare i valori seguenti dalla pagina Panoramica dell'applicazione per usarli in un secondo momento:
    • ID applicazione (cliente)
    • ID della directory (cliente)

Aggiungere un URL di reindirizzamento della piattaforma

È necessario configurare URI di reindirizzamento specifici nella registrazione dell'app per garantire la compatibilità con l'esempio di codice scaricato. Questi URI sono essenziali per reindirizzare gli utenti all'app dopo l'accesso.

Per specificare il tipo di app per la registrazione dell'app, seguire questa procedura:

  1. In Gestisciselezionare Autenticazione.
  2. Nella pagina configurazioni della piattaforma, selezionare Aggiungi una piattaformae quindi selezionare l'opzione Android.
  3. Immettere il nome del pacchetto del progetto. Se è stato scaricato il codice di esempio , questo valore è com.azuresamples.msaldelegatedandroidkotlinsampleapp.
  4. Nella sezione Signature hash del riquadro Configura la tua app Android, selezionate Generazione di un hash della firma di sviluppo. Ciò cambierà per ogni ambiente di sviluppo. Copiate ed eseguite il comando KeyTool per il vostro sistema operativo nel vostro terminale.
  5. Immettere il hash della firma generato da KeyTool.
  6. Selezionare Configura.
  7. Copia la Configurazione MSAL dal riquadro di configurazione del Android e salvala per la configurazione successiva dell'app.
  8. Selezionare Fine.

Abilitare il flusso di client pubblico

Per identificare l'app come client pubblico, seguire questa procedura:

  1. In Gestisciselezionare Autenticazione.

  2. Nelle Impostazioni avanzate, alla voce Consenti flussi client pubblici, seleziona .

  3. Selezionare Salva per salvare le modifiche.

Clonare un'applicazione di esempio

Per ottenere l'applicazione di esempio, è possibile clonarla da GitHub o scaricarla come file .zip.

  • Per clonare l'esempio, aprire un prompt dei comandi e passare alla posizione in cui si vuole creare il progetto e immettere il comando seguente:

    git clone https://github.com/Azure-Samples/ms-identity-ciam-browser-delegated-android-sample
    

Configurare l'applicazione di esempio

Per abilitare l'autenticazione e l'accesso alle risorse di Microsoft Graph, configurare l'esempio seguendo questa procedura:

  1. In Android Studio aprire il progetto clonato.

  2. Aprire file /app/src/main/res/raw/auth_config_ciam.json.

  3. Trova il segnaposto.

    • Enter_the_Application_Id_Here e sostituirlo con l'ID applicazione (client) dell'app registrata in precedenza.
    • Enter_the_Redirect_Uri_Here e sostituirlo con il valore di redirect_uri nel file di configurazione di Microsoft Authentication Library (MSAL) scaricato in precedenza quando è stato aggiunto l'URL di reindirizzamento della piattaforma.
    • Enter_the_Tenant_Subdomain_Here e sostituirlo con il sottodominio Directory (tenant). Ad esempio, se il dominio primario del tenant è contoso.onmicrosoft.com, usare contoso. Se non conosci il sottodominio del tenant, scopri come leggere i dettagli del tenant.
  4. Apri il file /app/src/main/AndroidManifest.xml.

  5. Trova il segnaposto.

    • ENTER_YOUR_SIGNATURE_HASH_HERE e sostituiscilo con l'hash della firma che hai generato in precedenza quando hai aggiunto l'URL di reindirizzamento della piattaforma.
  6. Aprire il file /app/src/main/java/com/azuresamples/msaldelegatedandroidkotlinsampleapp/MainActivity.kt.

  7. Trova la proprietà denominata scopes e imposta gli ambiti registrati in concedi il consenso dell'amministratore. Se non sono stati registrati ambiti, è possibile lasciare vuoto questo elenco di ambiti.

    private const val scopes = "" // Developers should set the respective scopes of their Microsoft Graph resources here. For example, private const val scopes = "api://{clientId}/{ToDoList.Read} api://{clientId}/{ToDoList.ReadWrite}"
    

L'app è stata configurata ed è pronta per l'esecuzione.

Eseguire e testare l'app di esempio

Per compilare ed eseguire l'app, seguire questa procedura:

  1. Nella barra degli strumenti selezionare l'app dal menu Delle configurazioni di esecuzione.

  2. Nel menu del dispositivo di destinazione selezionare il dispositivo in cui si vuole eseguire l'app.

    Se non sono configurati dispositivi, è necessario creare un dispositivo virtuale Android per usare l'emulatore Android o connettere un dispositivo Android fisico.

  3. Selezionare il pulsante Esegui.

  4. Selezionare Acquisire token in modo interattivo per richiedere un token di accesso.

  5. Se si seleziona API - Esegui get per chiamare un'API Web ASP.NET Core protetta, verrà visualizzato un errore.

Per altre informazioni sulla chiamata di un'API Web protetta, vedere i passaggi successivi

Passaggi successivi