Partager via


Démarrage rapide : Connecter des utilisateurs dans un exemple d’application mobile

S’applique à : cercle vert avec un symbole de coche blanc qui indique que le contenu suivant s’applique aux locataires du personnel. Cercle vert des locataires de main-d’œuvre avec un symbole de coche blanche qui indique que le contenu suivant s’applique aux locataires externes. Locataires externes (en savoir plus)

Avant de commencer, utilisez le sélecteur Choisir un type de locataire en haut de cette page pour sélectionner le type de locataire. Microsoft Entra ID fournit deux configurations de locataire, la main-d’œuvre et l’externe. Une configuration de locataire de main-d’œuvre concerne vos employés, vos applications internes et d’autres ressources organisationnelles. Un locataire externe est destiné à vos applications orientées client.

Dans ce guide de démarrage rapide, vous téléchargez et exécutez un exemple de code qui montre comment une application Android peut connecter des utilisateurs et obtenir un jeton d’accès pour appeler l’API Microsoft Graph.

Les applications doivent être représentées par un objet d’application dans Microsoft Entra ID afin que la plateforme d’identités Microsoft puisse fournir des jetons à votre application.

Prerequisites

  • Un compte Azure avec un abonnement actif. Si vous n’en avez pas encore, créez un compte gratuitement.
  • Ce compte Azure doit disposer d’autorisations pour gérer les applications. Les rôles Microsoft Entra suivants incluent les autorisations requises :
    • Administrateur d’application
    • Développeur d’applications
  • Un locataire de main-d’œuvre. 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 n’importe quel annuaire organisationnel et comptes Microsoft personnels. Pour plus d’informations, reportez-vous à l’inscription 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 de l’annuaire (locataire)
  • Android Studio
  • Android 16+

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 du volet Configurer votre application Android , sélectionnez Générer un hachage de signature de développement et copiez la commande KeyTool dans votre ligne de commande.

    • KeyTool.exe est installé dans le cadre du Kit de développement Java (JDK). Vous devez également installer l’outil OpenSSL pour exécuter la commande KeyTool. Pour plus d’informations, consultez la documentation Android sur la génération d’une clé pour plus d’informations.
  4. Entrez le hachage de signature généré par KeyTool.

  5. Sélectionnez Configurer et enregistrer la configuration MSAL qui s’affiche dans le volet de configuration Android afin de pouvoir l’entrer lorsque vous configurez votre application ultérieurement.

  6. Cliquez sur Terminé.

Télécharger l’exemple d’application

Configurer l’exemple d’application

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

  2. Cliquez avec le bouton droit sur res et choisissez Nouveau>répertoire. Entrez raw le nouveau nom du répertoire et sélectionnez OK.

  3. Dans app>src>main>res>raw, accédez au fichier JSON appelé auth_config_single_account.json et collez la configuration MSAL que vous avez enregistrée précédemment.

    Sous l’URI de redirection, collez :

      "account_mode" : "SINGLE",
    

    Votre fichier de configuration doit ressembler à cet exemple :

    {
      "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. Ouvrez le fichierAndroidManifest.xml/app/src/main/ .

  5. Recherchez l’espace réservé :

    • enter_the_signature_hash remplacez-le par le hachage de signature que vous avez généré précédemment lorsque vous avez ajouté l’URL de redirection de la plateforme.

    Comme ce tutoriel montre uniquement comment configurer une application en mode Compte unique, consultez le mode monocompte etla configuration de votre application pour plus d’informations.

Exécuter l’exemple d’application

Sélectionnez votre émulateur ou votre appareil physique dans la liste déroulante des appareils disponibles d’Android Studio et exécutez l’application.

L’exemple d’application démarre sur l’écran Mode compte unique . Une étendue par défaut, user.read, est fournie par défaut, qui est utilisée lors de la lecture de vos propres données de profil pendant l’appel de l’API Microsoft Graph. L’URL de l’appel d’API Microsoft Graph est fournie par défaut. Vous pouvez modifier ces deux si vous le souhaitez.

Capture d’écran de l’exemple d’application MSAL montrant l’utilisation d’un compte unique et multiple.

Utilisez le menu de l’application pour passer d’un mode à plusieurs comptes.

En mode compte unique, connectez-vous à l’aide d’un compte professionnel ou domestique :

  1. Sélectionnez Obtenir des données de graphe de manière interactive pour inviter l’utilisateur à entrer ses informations d’identification. Vous verrez la sortie de l’appel à l’API Microsoft Graph en bas de l’écran.
  2. Une fois connecté, sélectionnez Obtenir les données de graphe en mode silencieux pour effectuer un appel à l’API Microsoft Graph sans inviter l’utilisateur à nouveau à entrer les informations d’identification. Vous verrez la sortie de l’appel à l’API Microsoft Graph en bas de l’écran.

En mode compte multiple, vous pouvez répéter les mêmes étapes. En outre, vous pouvez supprimer le compte connecté, qui supprime également les jetons mis en cache pour ce compte.

Fonctionnement de l’exemple

Diagramme montrant comment fonctionne l’exemple d’application généré par ce guide de démarrage rapide.

Le code est organisé en fragments qui montrent comment écrire une application MSAL unique et plusieurs comptes. Les fichiers de code sont organisés comme suit :

Fichier Montre ce qui suit
MainActivity Gère l’interface utilisateur
MSGraphRequestWrapper Appelle l’API Microsoft Graph à l’aide du jeton fourni par MSAL
MultipleAccountModeFragment Initialise une application multi-compte, charge un compte d’utilisateur et obtient un jeton pour appeler l’API Microsoft Graph
SingleAccountModeFragment Initialise une application à compte unique, charge un compte d’utilisateur et obtient un jeton pour appeler l’API Microsoft Graph
res/auth_config_multiple_account.json Fichier de configuration de plusieurs comptes
res/auth_config_single_account.json Fichier de configuration de compte unique
Gradle Scripts/build.grade (Module :app) Les dépendances de bibliothèque MSAL sont ajoutées ici

Nous allons maintenant examiner ces fichiers plus en détail et appeler le code spécifique à MSAL dans chacun d’eux.

Étapes suivantes

Passez au didacticiel Android dans lequel vous créez une application Android qui obtient un jeton d’accès à partir de la plateforme d’identités Microsoft et l’utilise pour appeler l’API Microsoft Graph.

Le guide de démarrage rapide vous guide dans la configuration d’exemples d’applications Android, .NET MAUI Android et iOS/macOS pour connecter des utilisateurs en inscrivant des applications, en configurant des URL de redirection, en mettant à jour les configurations et en testant l’application.

Prerequisites

  • Un compte Azure avec un abonnement actif. Si vous n’en avez pas encore, créez un compte gratuitement.
  • Ce compte Azure doit disposer d’autorisations pour gérer les applications. Les rôles Microsoft Entra suivants incluent les autorisations requises :
    • Administrateur d’application
    • Développeur d’applications
  • Un locataire externe. Pour en créer un, choisissez parmi les méthodes suivantes :
  • 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’inscription 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 de l’annuaire (locataire)

Ajouter une URL de redirection de plateforme

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.

Pour spécifier votre type d’application à votre inscription d’application, procédez comme suit :

  1. Sous Gérer, sélectionnez Authentification.
  2. Dans la page Configurations de la plateforme, sélectionnez Ajouter une plateforme, puis sélectionnez l’option Android .
  3. Entrez le nom du package de votre projet. Si vous avez téléchargé l’exemple de code, cette valeur est com.azuresamples.msaldelegatedandroidkotlinsampleapp.
  4. Dans la section Hachage de signature du volet Configurer votre application Android , sélectionnez Génération d’un hachage de signature de développement. Cela changera pour chaque environnement de développement. Copiez et exécutez la commande KeyTool pour votre système d’exploitation dans votre terminal.
  5. Entrez le hachage de signature généré par KeyTool.
  6. Sélectionnez Configurer.
  7. Copiez la configuration MSAL à partir du volet de configuration Android et enregistrez-la pour la configuration de l’application ultérieure.
  8. Cliquez sur Terminé.

Activer le flux client public

Pour identifier votre application en tant que client public, procédez comme suit :

  1. Sous Gérer, sélectionnez Authentification.

  2. Sous Paramètres avancés, pour Autoriser les flux de clients publics, sélectionnez Oui.

  3. Cliquez sur Enregistrer pour enregistrer vos modifications.

Cloner un exemple d’application

Pour obtenir l’exemple d’application, vous pouvez le cloner à partir de GitHub ou le télécharger en tant que fichier .zip.

  • Pour cloner l’exemple, ouvrez une invite de commandes et accédez à l’emplacement où vous souhaitez créer le projet, puis entrez la commande suivante :

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

Configurer l’exemple d’application

Pour activer l’authentification et l’accès aux ressources Microsoft Graph, configurez l’exemple en procédant comme suit :

  1. Dans Android Studio, ouvrez le projet que vous avez cloné.

  2. Ouvrez le fichier /app/src/main/res/raw/auth_config_ciam.json .

  3. Recherchez l’espace réservé :

    • Enter_the_Application_Id_Here et remplacez-le par l’ID d’application (client) de l’application que vous avez inscrite précédemment.
    • Enter_the_Redirect_Uri_Here remplacez-le par la valeur de redirect_uri dans le fichier de configuration MSAL (Microsoft Authentication Library) que vous avez téléchargé précédemment lorsque vous avez ajouté l’URL de redirection de la plateforme.
    • Enter_the_Tenant_Subdomain_Here et remplacez-le par le sous-domaine Directory (locataire). Par exemple, si votre domaine principal de locataire est contoso.onmicrosoft.com, utilisez contoso. Si vous ne connaissez pas votre sous-domaine de locataire, découvrez comment lire les détails de votre locataire.
  4. Ouvrez le fichierAndroidManifest.xml/app/src/main/ .

  5. Recherchez l’espace réservé :

    • ENTER_YOUR_SIGNATURE_HASH_HERE remplacez-le par le hachage de signature que vous avez généré précédemment lorsque vous avez ajouté l’URL de redirection de la plateforme.
  6. Ouvrez /app/src/main/java/com/azuresamples/msaldelegatedandroidkotlinsampleapp/MainActivity.kt file.

  7. Recherchez la propriété nommée scopes et définissez les étendues enregistrées dans Accorder le consentement de l’administrateur. Si vous n’avez enregistré aucune étendue, vous pouvez laisser cette liste d’étendues vide.

    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}"
    

Vous avez configuré l’application et elle est prête à s’exécuter.

Exécuter et tester l’exemple d’application

Pour générer et exécuter votre application, procédez comme suit :

  1. Dans la barre d’outils, sélectionnez votre application dans le menu Exécuter les configurations.

  2. Dans le menu de l’appareil cible, sélectionnez l’appareil sur lequel vous souhaitez exécuter votre application.

    Si vous n’avez pas configuré d’appareils, vous devez créer un appareil virtuel Android pour utiliser l’émulateur Android ou connecter un appareil Android physique.

  3. Sélectionnez le bouton Exécuter .

  4. Sélectionnez Acquérir un jeton de manière interactive pour demander un jeton d’accès.

  5. Si vous sélectionnez l’API - Effectuez GET pour appeler une API web protégée ASP.NET Core, vous obtiendrez une erreur.

Pour plus d’informations sur l’appel d’une API web protégée, consultez les étapes suivantes

Étapes suivantes