Condividi tramite


Accedere agli utenti nell'app Android (Kotlin) di esempio

Questa guida illustra come configurare un'applicazione per dispositivi mobili Android di esempio per l'accesso degli utenti.

In questo articolo vengono eseguite le attività seguenti:

  • Registrare un'applicazione nell'interfaccia di amministrazione di Microsoft Entra.
  • Aggiungere un URL di reindirizzamento della piattaforma.
  • Abilitare i flussi client pubblici.
  • Aggiornare il file di esempio di codice di configurazione Android per usare i propri Microsoft Entra per ID esterno per i dettagli del tenant del cliente.
  • Eseguire e testare l'applicazione per dispositivi mobili Android di esempio.

Prerequisiti

Registrare un'applicazione

Per consentire all'applicazione di accedere agli utenti con Microsoft Entra, Microsoft Entra per ID esterno deve essere informato dell'applicazione creata. La registrazione dell'app stabilisce una relazione di trust tra l'app e Microsoft Entra. Quando si registra un'applicazione, l'ID esterno genera un identificatore univoco noto come ID applicazione (client), un valore usato per identificare l'app durante la creazione di richieste di autenticazione.

I passaggi seguenti illustrano come registrare l'app nell'interfaccia di amministrazione di Microsoft Entra:

  1. Accedere all'interfaccia di amministrazione di Microsoft Entra come almeno uno sviluppatore di applicazioni.

  2. Se si ha accesso a più tenant, usare l'icona Impostazioni nel menu in alto per passare al tenant esterno dal menu Directory e sottoscrizioni.

  3. Passare a Applicazioni> di identità>Registrazioni app.

  4. Seleziona + Nuova registrazione.

  5. Nella pagina Registra un'applicazione visualizzata;

    1. Immettere un nome di applicazione significativo visualizzato agli utenti dell'app, ad esempio ciam-client-app.
    2. In Tipi di account supportati selezionare Account solo in questa directory organizzativa.
  6. Selezionare Registra.

  7. Al termine della registrazione, viene visualizzato il riquadro Panoramica dell'applicazione. Registrare l'ID applicazione (client) da usare nel codice sorgente dell'applicazione.

Aggiungere un URL di reindirizzamento della piattaforma

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

  1. In Gestisci selezionare Autenticazione.
  2. Nella pagina Configurazioni della piattaforma selezionare Aggiungi una piattaforma e 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 Hash della firma del riquadro Configura l'app Android selezionare Generazione di un hash della firma di sviluppo. Ciò cambierà per ogni ambiente di sviluppo. Copiare ed eseguire il comando KeyTool per il sistema operativo nel terminale.
  5. Immettere il valore di Hash della firma generato da KeyTool.
  6. Seleziona Configura.
  7. Copiare la configurazione MSAL dal riquadro di configurazione Android e salvarla per la configurazione dell'app successiva.
  8. Selezionare Fatto.

Abilitare il flusso client pubblico

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

  1. In Gestisci selezionare Autenticazione.

  2. In Impostazioni avanzate selezionare per Consenti flussi client pubblici.

  3. Seleziona Salva per salvare le modifiche.

  1. Nella pagina Registrazioni app selezionare l'applicazione creata (ad esempio ciam-client-app) per aprire la relativa pagina Panoramica.

  2. In Gestisci selezionare Autorizzazioni API. Dall'elenco Autorizzazioni configurate all'applicazione è stata assegnata l'autorizzazione User.Read . Tuttavia, poiché il tenant è un tenant esterno, gli utenti consumer stessi non possono fornire il consenso a questa autorizzazione. L'amministratore deve fornire il consenso a questa autorizzazione per conto di tutti gli utenti nel tenant:

    1. Selezionare Concedi consenso amministratore per <il nome> del tenant e quindi selezionare .
    2. Selezionare Aggiorna, quindi verificare che Concesso per <il nome> del tenant venga visualizzato in Stato per entrambi gli ambiti.

Clonare un'applicazione per dispositivi mobili Android 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 per dispositivi mobili Android 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 il file /app/src/main/res/raw/auth_config_ciam.json .

  3. Trovare il segnaposto:

    • Enter_the_Application_Id_Heree sostituirlo con l'ID applicazione (client) dell'app registrata in precedenza.
    • Enter_the_Redirect_Uri_Heree 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 si conosce il sottodominio del tenant, vedere come leggere i dettagli del tenant.
  4. Aprire il file /app/src/main/AndroidManifest.xml .

  5. Trovare il segnaposto:

    • ENTER_YOUR_SIGNATURE_HASH_HEREe sostituirlo con l'hash della firma generato in precedenza quando è stato aggiunto l'URL di reindirizzamento della piattaforma.
  6. Aprire il file /app/src/main/java/com/azuresamples/msaldelegatedandroidkotlinsampleapp/MainActivity.kt .

  7. Trovare la proprietà denominata scopes e impostare gli ambiti registrati in Concedi consenso 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'applicazione per dispositivi mobili Android 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 Run (Esegui).

  4. Selezionare Acquisisci 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