Partager via


Tutoriel : Configurer une application Android pour connecter des utilisateurs à l’aide de la plateforme d’identités Microsoft

S’applique à : Cercle vert avec un symbole de coche blanche. Locataires d’employés Cercle vert avec un symbole de coche blanche. Locataires externes (En savoir plus)

Dans ce tutoriel, vous allez ajouter microsoft Authentication Library (MSAL) pour Android à votre application Android. MSAL permet aux applications Android d’authentifier les utilisateurs auprès de Microsoft Entra.

Dans ce tutoriel, vous allez :

  • Ajouter une dépendance MSAL
  • Ajouter une configuration
  • Créer une instance du Kit de développement logiciel (SDK) MSAL

Conditions préalables

  • Un locataire d’employés. Vous pouvez utiliser votre répertoire par défaut ou configurer un nouveau locataire.
  • Inscrivez une nouvelle application dans le Centre d’administration Microsoft Entra, configurée pour les comptes dans cet annuaire organisationnel uniquement. Pour plus d’informations, reportez-vous à l'enregistrement d'une application. Enregistrez les valeurs suivantes à partir de la page Vue d’ensemble de l’application pour une utilisation ultérieure :
    • ID d’application (client)
    • ID d’annuaire (locataire)
  • Un projet Android. Si vous n’avez pas de projet Android, créez-le.

Ajouter un URI de redirection

Vous devez configurer des URI de redirection spécifiques dans votre inscription d’application pour garantir la compatibilité avec l’exemple de code téléchargé. Ces URI sont essentiels pour rediriger les utilisateurs vers l’application une fois qu’ils se connectent correctement.

  1. Sous Gérer, sélectionnez Authentification>Ajouter une plateforme>Android.

  2. Entrez le nom du package de votre projet en fonction du type d’exemple que vous avez téléchargé ci-dessus.

    • Exemple Java : com.azuresamples.msalandroidapp
    • Exemple Kotlin : com.azuresamples.msalandroidkotlinapp
  3. Dans la section Hachage de signature de la page Configurer votre application Android, sélectionnez Création d’un hachage de signature de développement, puis copiez la commande KeyTool vers votre ligne de commande.

  4. Entrez l'empreinte de la signature générée par KeyTool.

  5. Sélectionnez Configurer et enregistrez la Configuration MSAL qui apparaît dans la page Configuration Android pour pouvoir l’entrer plus tard quand vous devrez configurer votre application.

  6. Cliquez sur Terminé.

Ajouter une dépendance MSAL et des bibliothèques pertinentes à votre projet

Pour ajouter des dépendances MSAL dans votre projet Android, procédez comme suit :

  1. Ouvrez votre projet dans Android Studio ou créez un projet.

  2. Ouvrez le build.gradle de votre application et ajoutez les dépendances suivantes :

    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.+'
        //...
    }
    

    Dans la build.gradle configuration, les référentiels sont définis pour les dépendances de projet. Elle inclut une URL du référentiel Maven pour la bibliothèque de com.microsoft.device.display:display-mask d’Azure DevOps. En outre, il utilise les référentiels Maven Central et Google. La section dépendances spécifie l’implémentation de MSAL version 5 et potentiellement d’autres dépendances.

  3. Dans Android Studio, sélectionnez Projet>de synchronisation de fichiers avec Gradle Files.

Ajouter une configuration

Vous transmettez les identificateurs de locataire requis, tels que l’ID d’application (client), au SDK MSAL via un paramètre de configuration JSON.

Procédez comme suit pour créer un fichier de configuration :

  1. Dans le volet de projet d’Android Studio, accédez à app\src\main\res.

  2. Cliquez avec le bouton droit sur res, puis choisissez Nouveau>Répertoire. Entrez raw en tant que nouveau nom de répertoire, puis sélectionnez OK.

  3. Dans app>src>main>res>raw, créez un fichier JSON appelé auth_config_single_account.json, puis collez la configuration MSAL que vous avez enregistrée.

    Sous l’URI de redirection, collez :

      "account_mode" : "SINGLE",
    

    Votre fichier de configuration doit ressembler à l’exemple suivant :

    {
      "client_id": "00001111-aaaa-bbbb-3333-cccc4444",
      "authorization_user_agent": "WEBVIEW",
      "redirect_uri": "msauth://com.azuresamples.msalandroidapp/00001111%cccc4444%3D",
      "broker_redirect_uri_registered": true,
      "account_mode": "SINGLE",
      "authorities": [
        {
          "type": "AAD",
          "audience": {
            "type": "AzureADandPersonalMicrosoftAccount",
            "tenant_id": "common"
          }
        }
      ]
    }
    

    Comme ce tutoriel montre uniquement comment configurer une application en mode compte unique, consultez Le mode compte unique ou multiple et la configuration de votre application pour plus d’informations

  4. Nous vous recommandons d’utiliser « WEBVIEW ». Si vous souhaitez configurer « authorization_user_agent » comme « BROWSER » dans votre application, vous devez effectuer les mises à jour suivantes. a) Mettez à jour auth_config_single_account.json avec "authorization_user_agent": "Browser". b) Mettez à jour AndroidManifest.xml. Dans l’application, accédez à app>src>main>AndroidManifest.xml, ajoutez l’activité BrowserTabActivity en tant qu’enfant de l’élément <application>. Cette entrée permet à Microsoft Entra ID de rappeler votre application une fois l’authentification terminée :

    <!--Intent filter to capture System Browser or Authenticator calling back to our app after sign-in-->
    <activity
        android:name="com.microsoft.identity.client.BrowserTabActivity"
        android:exported="true">
        <intent-filter>
            <action android:name="android.intent.action.VIEW" />
            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.BROWSABLE" />
            <data android:scheme="msauth"
                android:host="Enter_the_Package_Name"
                android:path="/Enter_the_Signature_Hash" />
        </intent-filter>
    </activity>
    
    • Utilisez le Nom du package pour remplacer la valeur android:host=.. Il doit ressembler à com.azuresamples.msalandroidapp.
    • Utilisez le Hachage de signature pour remplacer la valeur android:path=. Assurez-vous qu'il y a un début / au début de votre hachage de signature. Il doit ressembler à /aB1cD2eF3gH4+iJ5kL6-mN7oP8q=.

    Vous pouvez également trouver ces valeurs dans le panneau Authentification de l’inscription de votre application.

Créer une instance du Kit de développement logiciel (SDK) MSAL

Pour initialiser l’instance du Kit de développement logiciel (SDK) MSAL, utilisez le code suivant :

PublicClientApplication.createSingleAccountPublicClientApplication(
    getContext(),
    R.raw.auth_config_single_account,
    new IPublicClientApplication.ISingleAccountApplicationCreatedListener() {
        @Override
        public void onCreated(ISingleAccountPublicClientApplication application) {
            // Initialize the single account application instance
            mSingleAccountApp = application;
            loadAccount();
        }

        @Override
        public void onError(MsalException exception) {
            // Handle any errors that occur during initialization
            displayError(exception);
        }
    }
);

Ce code crée une application cliente publique de compte unique à l’aide du fichier de configuration auth_config_single_account.json. Une fois l'application créée avec succès, elle affecte l'instance à mSingleAccountApp et appelle la méthode loadAccount(). Si une erreur se produit pendant la création, elle gère l’erreur en appelant la méthode displayError(exception).

Veillez à inclure les instructions d'importation. Android Studio devrait inclure automatiquement les instructions d'importation pour vous.

Étapes suivantes