Connecter des utilisateurs dans un échantillon d’application mobile iOS (Swift) à l’aide de l’authentification native
Ce guide montre comment exécuter un exemple d’application iOS pour s’inscrire, se connecter et se déconnecter, et réaliser des scénarios de réinitialisation du mot de passe en utilisant ID externe 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 un exemple d’application mobile native iOS pour utiliser les informations de votre propre locataire externe.
- Exécutez et testez l’échantillon natif de l’application mobile iOS.
Prérequis
- Xcode
- Un locataire externe. Si vous n’en avez pas encore, inscrivez-vous pour obtenir 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.
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 :
- 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.
- Sous Gérer, sélectionnez Authentification.
- Sous Paramètres avancés, autorisez les flux de clients publics :
- Pour Activer les flux mobiles et de bureau suivants, sélectionnez Oui.
- Pour Activer l’authentification native, sélectionnez Oui.
- Sélectionnez le bouton Enregistrer.
Accorder un consentement d’administrateur
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. 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 :
- Sélectionnez Accorder le consentement administrateur pour <nom de votre locataire>, puis sélectionnez Oui.
- 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.
Connectez-vous au centre d’administration de Microsoft Entra au minimum en tant que Développeur d’application.
Si vous avez accès à plusieurs locataires, veillez à utiliser l’annuaire qui contient votre locataire externe :
- Sélectionnez l’icône Annuaires + abonnements dans la barre d’outils.
- 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.
Dans le menu de la barre latérale, sélectionnez Identité.
Sélectionnez External Identities>Flux utilisateur.
Sélectionnez + Nouveau flux utilisateur.
Dans la page Créer :
Entrez un nom pour le flux utilisateur, par exemple, SignInSignUpSample.
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.
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 (OTP) par e-mail au niveau du locataire (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).
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.
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 utilisateur
Pour que les utilisateurs du client voient l’expérience d’inscription ou de connexion lorsqu’ils utilisent votre application, vous devez associer votre application à un 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.
Dans le menu de la barre latérale, sélectionnez Identité.
Sélectionnez External Identities, puis Flux utilisateur.
Dans la page Flux utilisateur, sélectionnez le nom du flux utilisateur que vous avez créé précédemment, par exemple SignInSignUpSample.
Sous Utiliser, sélectionnez Applications.
Sélectionnez Ajouter une application.
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.
Choisissez Sélectionner.
Une fois que vous avez associé votre application à un flux utilisateur, vous pouvez le tester en simulant l’expérience d’inscription ou de connexion d’un utilisateur avec votre application à partir du Centre d’administration Microsoft Entra. Pour ce faire, suivez les étapes décrites dans Tester votre flux utilisateur d’inscription et de connexion.
Clonez un échantillon d’application mobile iOS
Ouvrez un terminal et accédez au répertoire dans lequel vous souhaitez conserver le code.
Clonez l’échantillon d’application mobile à partir de GitHub en exécutant la commande suivante :
git clone https://github.com/Azure-Samples/ms-identity-ciam-native-auth-ios-sample.git
Accédez au répertoire dans lequel le référentiel a été cloné :
cd ms-identity-ciam-native-auth-ios-sample
Configurez l’échantillon d’application mobile iOS
Dans Xcode, ouvrez le projet NativeAuthSampleApp.xcodeproj.
Ouvrez le fichier NativeAuthSampleApp/Configuration.swift.
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 de locataire estcontoso.onmicrosoft.com
, utilisez contoso. Si vous n’avez pas votre sous-domaine de locataire, découvrez comment lire les détails de votre locataire.
Remarque
N’oubliez pas de sélectionner un schéma à générer et une destination où vous exécutez les produits générés. Chaque schéma contient une liste d’appareils réels ou simulés qui représentent les destinations disponibles.
Exécutez et clonez un échantillon d’application mobile iOS
Pour générer et exécuter votre code, sélectionnez Exécuter depuis le menu Produit dans Xcode. Après une génération réussie, Xcode lance l’échantillon d’application dans le simulateur.
Ce guide teste l’utilisation de la fonctionnalité Envoyer un code secret à usage unique par e-mail. Entrez une adresse e-mail valide, sélectionnez S’inscrire, puis lancez l’écran de soumission du code :
Une fois que vous avez entré votre adresse e-mail sur l’écran précédent, l’application envoie un code de vérification à celui-ci. Une fois que vous avez rentré le code reçu, l’application vous ramène à l’écran précédent et vous connecte automatiquement.
Autres scénarios pris en charge par cet échantillon
L’échantillon d’application prend en charge les flux suivants :
- E-mail + mot de passe couvre les flux de connexion ou d’inscription avec un e-mail avec 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 :
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).
Suivez les étapes décrites dans Associer l’application au nouveau flux d’utilisateur pour ajouter une application à votre nouveau flux d’utilisateur.
Exécutez l’exemple d’application, puis sélectionnez le menu de points de suspension (...) pour ouvrir davantage d’options.
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 l’appel d’un flux d’API protégé
Utilisez les étapes décrites dans Appeler une API web protégée dans un échantillon d’application mobile iOS à l’aide de l’authentification native pour appeler une API web protégée à partir d’un échantillon d’application mobile Android.