Connecter des utilisateurs dans l’exemple d’application Android (Kotlin)
Ce guide montre comment configurer un exemple d’application mobile Android pour connecter des utilisateurs.
Dans cet article, vous effectuez les tâches suivantes :
- Inscrire une application dans le centre d’administration Microsoft Entra.
- Ajouter une URL de redirection de plateforme.
- Activer les flux de clients publics.
- Mettre à jour le fichier d’exemple de code de configuration Android afin d’utiliser votre propre ID externe Microsoft Entra pour les détails relatifs au tenant du client.
- Exécuter et tester l’exemple d’application mobile Android.
Prérequis
- Android Studio.
- Locataire externe. Si vous n’en avez pas, inscrivez-vous à un essai gratuit.
Inscrire une application
ID externe Microsoft Entra doit être informé de l’existence de l’application que vous créez pour permettre à votre application de connecter des utilisateurs avec Microsoft Entra. L’inscription d’application établit une relation de confiance entre l’application et Microsoft Entra. Lorsque vous enregistrez une application, l'ID externe génère un identifiant unique appelé ID d'application (client), une valeur utilisée pour identifier votre application lors de la création de demandes d'authentification.
Les étapes suivantes vous montrent comment inscrire votre application dans le centre d’administration Microsoft Entra :
Connectez-vous au centre d’administration de Microsoft Entra au minimum en tant que Développeur d’application.
Si vous avez accès à plusieurs tenants, utilisez l’icône Paramètres dans le menu supérieur pour basculer vers votre tenant externe depuis le menu Répertoires + abonnements.
Accédez à Identité>Applications>Inscriptions d’applications.
Sélectionnez + Nouvelle inscription.
Dans la page Inscrire une application qui s’affiche ;
- Dans Nom, entrez un nom d’application explicite qui va être présenté aux utilisateurs de l’application, par exemple ciam-client-app.
- Sous Types de comptes pris en charge, sélectionnez Comptes dans cet annuaire organisationnel uniquement.
Sélectionnez Inscription.
Le volet Vue d’ensemble de l’application s’affiche après une inscription réussie. Enregistrez l’ID d’application (client) à utiliser dans le code source de votre application.
Ajouter une URL de redirection de plateforme
Pour spécifier le type de votre application dans votre inscription d’application, effectuez les étapes suivantes :
- Sous Gérer, sélectionnez Authentification.
- Dans la page Configurations de plateforme, sélectionnez Ajouter une plateforme, puis l’option Android.
- Entrez le nom du package de votre projet. Si vous avez téléchargé l’exemple de code, cette valeur est
com.azuresamples.msaldelegatedandroidkotlinsampleapp
. - 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. Il est différent pour chaque environnement de développement. Copiez et exécutez la commande KeyTool pour votre système d’exploitation dans votre terminal.
- Entrez le Hachage de signature généré par KeyTool.
- Sélectionnez Configurer.
- Copiez la configuration MSAL à partir du volet Configuration Android et enregistrez-la pour la configuration d’application ultérieure.
- Cliquez sur Terminé.
Activer le flux de client public
Pour identifier votre application en tant que client public, procédez comme suit :
Sous Gérer, sélectionnez Authentification.
Sous Paramètres avancés, pour Autoriser les flux clients publics, sélectionnez Oui.
Cliquez sur Enregistrer pour enregistrer vos modifications.
Accorder un consentement d’administrateur
Une fois que vous avez enregistré votre application, celle-ci reçoit l’autorisation User.Read. Toutefois, comme le locataire est un locataire externe, les utilisateurs clients ne peuvent pas eux-mêmes consentir à cette autorisation. En qualité d’administrateur, vous devez consentir à ces autorisations au nom de tous les utilisateurs du client :
Dans la page inscriptions d’applications, sélectionnez l’application que vous avez créée (par exemple ciam-client-app) pour ouvrir sa page Vue d’ensemble.
Sous Gérer, sélectionnez Autorisations de l’API.
- Sélectionnez Accorder le consentement administrateur pour <nom de votre client>, puis sélectionnez Oui.
- Sélectionnez Actualiser, puis vérifiez que Accordé pour <votre nom de locataire> s’affiche sous l’État de l’autorisation.
Cloner un exemple d’application mobile Android
Pour obtenir l’exemple d’application, vous pouvez le cloner à partir de GitHub ou le télécharger sous la forme d’un fichier .zip.
Pour cloner l’exemple, ouvrez une invite de commandes, 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 mobile Android
Pour activer l’authentification et l’accès aux ressources Microsoft Graph, configurez l’exemple en suivant ces étapes :
Dans Android Studio, ouvrez le projet que vous avez cloné.
Ouvrez le fichier /app/src/main/res/raw/auth_config_ciam.json.
Recherchez l’espace réservé :
Enter_the_Application_Id_Here
et remplacez-le par l’ID d’application (client) de l’application inscrite précédemment.Enter_the_Redirect_Uri_Here
et remplacez-le par la valeur 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 plateforme.Enter_the_Tenant_Subdomain_Here
par le sous-domaine de l’annuaire (locataire). Par exemple, si votre domaine principal du locataire estcontoso.onmicrosoft.com
, utilisezcontoso
. Si vous ne connaissez pas votre sous-domaine de tenant, découvrez comment lire les détails de votre tenant.
Ouvrez le fichier /app/src/main/AndroidManifest.xml.
Recherchez l’espace réservé :
ENTER_YOUR_SIGNATURE_HASH_HERE
et 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 plateforme.
Ouvrez le fichier /app/src/main/java/com/azuresamples/msaldelegatedandroidkotlinsampleapp/MainActivity.kt.
Recherchez la propriété nommée
scopes
et définissez les étendues enregistrées dans Accorder le consentement 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 qui est maintenant prête à être exécutée.
Exécuter et tester l’exemple d’application mobile Android
Pour générer et exécuter votre application, suivez ces étapes :
Dans la barre d’outils, sélectionnez votre application dans le menu Configurations d’exécution.
Dans le menu de l’appareil cible, sélectionnez l’appareil sur lequel vous souhaitez exécuter votre application.
Si aucun appareil n’est configuré, vous devez créer un appareil virtuel Android pour utiliser l’Émulateur Android, ou connecter un appareil Android physique.
Sélectionnez le bouton Run.
Sélectionnez Acquérir un jeton de manière interactive pour demander un jeton d’accès.
Si vous sélectionnez API - Effectuer une opération GET pour appeler une API web ASP.NET Core protégée, vous obtenez une erreur.
Pour plus d’informations sur l’appel d’une API web protégée, consultez les étapes suivantes.