Condividi tramite


Esercitazione: Preparare l'app Android (Kotlin) per l'autenticazione

Questa è la seconda esercitazione della serie di esercitazioni che illustra come aggiungere Microsoft Authentication Library (MSAL) per Android all'app Android (Kotlin). MSAL consente alle applicazioni Android di autenticare gli utenti con Microsoft Entra.

In questa esercitazione si apprenderà come:

  • Aggiungere dipendenze MSAL.
  • Aggiungi configurazione.

Prerequisiti

Aggiungere dipendenze MSAL

Per aggiungere dipendenze MSAL nel progetto Android, seguire questa procedura:

  1. Aprire il progetto in Android Studio o creare un nuovo progetto.

  2. Aprire l'applicazione build.gradle e aggiungere le dipendenze seguenti:

    allprojects {
    repositories {
        //Needed for com.microsoft.device.display:display-mask library
        maven {
            url 'https://pkgs.dev.azure.com/MicrosoftDeviceSDK/DuoSDK-Public/_packaging/Duo-SDK-Feed/maven/v1'
            name 'Duo-SDK-Feed'
        }
        mavenCentral()
        google()
        }
    }
    //...
    
    dependencies { 
        implementation 'com.microsoft.identity.client:msal:5.+'
        //...
    }
    

    build.gradle Nella configurazione i repository vengono definiti per le dipendenze del progetto. Include un URL del repository Maven per la com.microsoft.device.display:display-mask libreria da Azure DevOps. Inoltre, utilizza i repository Maven Central e Google. La sezione dependencies specifica l'implementazione di MSAL versione 5 e potenzialmente altre dipendenze.

  3. In Android Studio selezionare Progetto di sincronizzazione file>con file Gradle.

Aggiungere la configurazione

È possibile passare gli identificatori del tenant necessari, ad esempio l'ID applicazione (client) all'SDK MSAL tramite un'impostazione di configurazione JSON.

Usare questi passaggi per creare un file di configurazione:

  1. Nel riquadro dei progetti di Android Studio passare 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. In app\src\main\res\raw creare un nuovo file JSON denominato auth_config_ciam_auth.json.

  4. auth_config_ciam_auth.json Nel file aggiungere le configurazioni MSAL seguenti:

    {
      "client_id" : "Enter_the_Application_Id_Here",
      "authorization_user_agent" : "DEFAULT",
      "redirect_uri" : "Enter_the_Redirect_Uri_Here",
      "account_mode" : "SINGLE",
      "authorities" : [
        {
          "type": "CIAM",
          "authority_url": "https://Enter_the_Tenant_Subdomain_Here.ciamlogin.com/Enter_the_Tenant_Subdomain_Here.onmicrosoft.com/"
        }
      ]
    }
    

    Il file di configurazione JSON specifica varie impostazioni per un'applicazione Android. Include l'ID client, l'agente utente di autorizzazione, l'URI di reindirizzamento e la modalità account. Definisce inoltre un'autorità per l'autenticazione, specificando il tipo e l'URL dell'autorità.

    Sostituire i segnaposto seguenti con i valori del tenant ottenuti dall'interfaccia di amministrazione di Microsoft Entra:

    • 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.
  5. Aprire il file /app/src/main/AndroidManifest.xml .

  6. In AndroidManifest.xml aggiungere la specifica dei dati seguente a un filtro finalità:

    <data
        android:host="ENTER_YOUR_PROJECT_PACKAGE_NAME_HERE"
        android:path="/ENTER_YOUR_SIGNATURE_HASH_HERE"
        android:scheme="msauth" />
    

    Trovare il segnaposto:

    • ENTER_YOUR_PROJECT_PACKAGE_NAME_HERE e sostituirlo con il nome del pacchetto del progetto Android.
    • ENTER_YOUR_SIGNATURE_HASH_HERE e sostituirlo con l'hash della firma generato in precedenza quando è stato aggiunto l'URL di reindirizzamento della piattaforma.

Creare un'istanza di MSAL SDK

Per inizializzare l'istanza di MSAL SDK, usare il codice seguente:

private suspend fun initClient(): ISingleAccountPublicClientApplication = withContext(Dispatchers.IO) {
    return@withContext PublicClientApplication.createSingleAccountPublicClientApplication(
        this@MainActivity,
        R.raw.auth_config_ciam_auth
    )
}

Il codice inizializza in modo asincrono un'applicazione client pubblica con un singolo account. Usa il file di configurazione dell'autenticazione fornito e viene eseguito nel dispatcher di I/O.

Assicurarsi di includere le istruzioni import. Android Studio deve includere automaticamente le istruzioni import.

Passaggi successivi

Esercitazione: Accedere agli utenti nell'app per dispositivi mobili Android (Kotlin)