Partager via


Connecter des utilisateurs dans un exemple d’application mobile Android (Kotlin) à l’aide de l’authentification native

Ce guide montre comment exécuter un exemple d’application Android, qui illustre des scénarios d’inscription, de connexion, de déconnexion et de réinitialisation de mot de passe à l’aide de l’authentification native de Microsoft Entra.

Dans cet article, vous apprendrez comment :

  • Inscrire l’application dans le locataire externe.
  • Activer les flux d’authentification de clients publics et natifs.
  • Créer un flux utilisateur dans le locataire externe.
  • Associer votre application au flux d’utilisateur.
  • 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 locataire externe.
  • Exécuter et tester l’exemple d’application mobile Android native.

Prérequis

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 :

  1. Connectez-vous au centre d’administration de Microsoft Entra au minimum en tant que Développeur d’application.

  2. 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.

  3. Accédez à Identité>Applications>Inscriptions d’applications.

  4. Sélectionnez + Nouvelle inscription.

  5. Dans la page Inscrire une application qui s’affiche ;

    1. Dans Nom, entrez un nom d’application explicite qui va être présenté aux utilisateurs de l’application, par exemple ciam-client-app.
    2. Sous Types de comptes pris en charge, sélectionnez Comptes dans cet annuaire organisationnel uniquement.
  6. Sélectionnez Inscription.

  7. 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.

Activer les flux d’authentification de clients publics et natifs

Pour spécifier que cette application est un client public et qu’elle peut utiliser l’authentification native, activez les flux d’authentification de clients publics et natifs :

  1. Dans la page des inscriptions d’applications, sélectionnez l’inscription d’application pour laquelle vous souhaitez activer les flux d’authentification de clients publics et natifs.
  2. Sous Gérer, sélectionnez Authentification.
  3. Sous Paramètres avancés, autorisez les flux de clients publics :
    1. Pour Activer les flux mobiles et de bureau suivants, sélectionnez Oui.
    2. Pour Activer l’authentification native, sélectionnez Oui.
  4. Sélectionnez le bouton Enregistrer.
  1. 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.

  2. Sous Gérer, sélectionnez Autorisations de l’API. Depuis la liste Autorisations configurées, l’autorisation User.Read a été attribuée à votre application. Toutefois, comme le tenant est un tenant externe, les utilisateurs consommateurs eux-mêmes ne peuvent pas consentir à cette autorisation. En qualité d’administrateur, vous devez consentir à ces autorisations au nom de tous les utilisateurs du tenant :

    1. Sélectionnez Accorder le consentement administrateur pour <nom de votre locataire>, puis sélectionnez Oui.
    2. Sélectionnez Actualiser, puis vérifiez que Accordé pour <nom de votre locataire> s’affiche sous État pour les deux étendues.

Créer un flux utilisateur

Suivez ces étapes pour créer un flux d’utilisateur.

  1. Connectez-vous au centre d’administration de Microsoft Entra au minimum en tant que Développeur d’application.

  2. Si vous avez accès à plusieurs locataires, veillez à utiliser l’annuaire qui contient votre locataire externe :

    1. Sélectionnez l’icône Annuaires + abonnements dans la barre d’outils.
    2. Dans la page Paramètres du portail | Annuaires + abonnements, recherchez l’annuaire de votre locataire externe dans la liste Nom d’annuaire, puis sélectionnez Basculer.
  3. Dans le menu de la barre latérale, sélectionnez Identité.

  4. Sélectionnez External Identities>Flux utilisateur.

  5. Sélectionnez + Nouveau flux utilisateur.

  6. Dans la page Créer :

    1. Entrez un nom pour le flux utilisateur, par exemple, SignInSignUpSample.

    2. Dans la liste Fournisseurs d’identité, sélectionnez Comptes de messagerie. Ce fournisseur d’identité permet aux utilisateurs de se connecter ou de s’inscrire avec leur adresse e-mail.

    3. Sous Comptes de messagerie, vous pouvez sélectionner une des deux options. Pour ce tutoriel, sélectionnez Envoyer un code secret à usage unique par e-mail.

      • E-mail avec mot de passe : permet aux nouveaux utilisateurs de s’inscrire et de se connecter en utilisant une adresse e-mail comme nom de connexion et un mot de passe comme informations d’identification de premier facteur.
      • Envoyer un code secret à usage unique par e-mail : permet aux nouveaux utilisateurs de s’inscrire et de se connecter en utilisant une adresse e-mail en tant que nom de connexion et un code secret à usage unique par e-mail en tant qu’informations d’identification de premier facteur. Pour que cette option soit disponible au niveau du flux utilisateur, veillez à activer le code secret à usage unique par e-mail au niveau du tenant (sélectionnez Tous les fournisseurs d’identité, puis, pour Code secret à usage unique par e-mail, sélectionnez Configuré, sélectionnez l’option Oui, puis sélectionnez Enregistrer).
    4. Sous Attributs utilisateur, vous pouvez choisir les attributs à collecter auprès de l’utilisateur au moment de son inscription. Pour ce guide, sélectionnez Pays/région et Ville.

  7. Sélectionnez Créer. Le nouveau flux d’utilisateurs apparaît dans la liste Flux d’utilisateurs. Si nécessaire, actualisez la page.

Associer l’application au flux d’utilisateur

Bien que de nombreuses applications puissent être associées à votre flux utilisateur, chaque application peut être associée à un seul flux utilisateur. Un flux utilisateur permet de configurer l’expérience utilisateur pour des applications spécifiques. Par exemple, vous pouvez configurer un flux d’utilisateurs qui demande aux utilisateurs de se connecter ou de s’inscrire avec une adresse e-mail.

  1. Dans le menu de la barre latérale, sélectionnez Identité.

  2. Sélectionnez External Identities, puis Flux utilisateur.

  3. Dans la page Flux utilisateur, sélectionnez le nom du flux utilisateur que vous avez créé précédemment, par exemple SignInSignUpSample.

  4. Sous Utiliser, sélectionnez Applications.

  5. Sélectionnez Ajouter une application.

  6. Sélectionnez l’application dans la liste, par exemple, ciam-client-app, ou utilisez la barre de recherche pour la trouver, puis sélectionnez-la.

  7. Choisissez Sélectionner.

Cloner un exemple d’application mobile Android

  1. Ouvrez Terminal, puis accédez à un répertoire dans lequel vous souhaitez conserver le code.

  2. Clonez l’application à partir de GitHub en exécutant la commande suivante :

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

Configurer l’exemple d’application mobile Android

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

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

  3. 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_Tenant_Subdomain_Here et remplacez par le sous-domaine du répertoire (locataire). Par exemple, si votre domaine principal du locataire est contoso.onmicrosoft.com, utilisez contoso. Si vous ne connaissez pas votre sous-domaine de tenant, découvrez comment lire les détails de votre tenant.

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

Exécuter et tester l’exemple d’application mobile Android

Pour générer et exécuter votre application, suivez ces étapes :

  1. Dans la barre d’outils, sélectionnez votre application dans le menu Configurations d’exécution.

  2. 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.

  3. Sélectionnez le bouton Run. L’application ouvre l’écran E-mail et Mot de passe à usage unique.

    Capture d’écran invitant un utilisateur à saisir son adresse e-mail dans une application Android.

  4. Entrez une adresse e-mail valide, puis sélectionnez le bouton S’inscrire. L’application ouvre l’écran d’envoi du code, et vous recevez un code OTP (mot de passe à usage unique) à l’adresse e-mail indiquée.

    Capture d’écran invitant un utilisateur à saisir son code secret à usage unique dans une application Android.

  5. Entrez le code OTP reçu dans votre boîte de réception d’e-mails, puis sélectionnez Suivant. Si l’inscription réussit, l’application vous connecte automatiquement. Si vous ne recevez pas le code OTP dans votre boîte de réception d’e-mails, vous pouvez le renvoyer après un certain temps en sélectionnant Renvoyer le code secret.

    Capture d’écran montrant une connexion correctement effectuée dans l’application Android.

  6. Pour vous déconnecter, sélectionnez le bouton Se déconnecter.

Autres scénarios pris en charge par cet exemple

Cet exemple d’application prend également en charge les flux d’authentification suivants :

  • E-mail + mot de passe couvre les flux de connexion ou d’inscription avec un e-mail associé à un mot de passe.
  • Inscription avec e-mail + mot de passe et attributs utilisateur couvre l’inscription avec un e-mail associé à un mot de passe ainsi que l’envoi d’attributs utilisateur.
  • Réinitialisation de mot de passe couvre la réinitialisation de mot de passe en libre-service (SSPR).
  • Accéder à une API protégée couvre l’appel d’une API protégée une fois que l’utilisateur s’est inscrit ou qu’il s’est connecté correctement, et qu’il a acquis un jeton d’accès.
  • Recours au navigateur web couvre l’utilisation de l’authentification basée sur le navigateur en tant que mécanisme de secours quand l’utilisateur ne peut pas s’authentifier via l’authentification native pour une raison quelconque.

Tester le flux associant l’e-mail à un mot de passe

Dans cette section, vous testez le flux associant un e-mail à un mot de passe avec ses variantes, par exemple l’inscription avec un e-mail et un mot de passe ainsi que les attributs utilisateur et la réinitialisation SSPR :

  1. Suivez les étapes décrites dans Créer un flux d’utilisateur pour créer un flux d’utilisateur, mais cette fois, sélectionnez E-mail avec mot de passe en tant que méthode d’authentification. Vous devez configurer Pays/Région et Ville en tant qu’attributs utilisateur. Vous pouvez également modifier le flux d’utilisateur existant pour utiliser E-mail avec mot de passe (sélectionnez External Identities>Flux d’utilisateurs>SignInSignUpSample>Fournisseurs d’identité>E-mail avec mot de passe>Enregistrer).

  2. Suivez les étapes décrites dans Associer l’application au nouveau flux d’utilisateur pour ajouter une application à votre nouveau flux d’utilisateur.

  3. Exécutez l’exemple d’application, puis sélectionnez le menu de points de suspension (...) pour ouvrir davantage d’options.

  4. Sélectionnez le scénario à tester, par exemple E-mail + mot de passe ou Inscription avec e-mail + mot de passe et attributs utilisateur ou Réinitialisation de mot de passe, puis suivez les invites. Pour tester la réinitialisation de mot de passe, vous devez d’abord inscrire un utilisateur, puis activer le code secret à usage unique par e-mail pour tous les utilisateurs de votre tenant.

Tester le flux visant à appeler une API protégée

Suivez les étapes décrites dans Appeler une API web protégée dans un exemple d’application mobile Android à l’aide de l’authentification native pour appeler une API web protégée à partir d’un exemple d’application mobile Android.

Étapes suivantes