Partager via


Tutoriel : préparer votre application iOS/macOS pour l’authentification native

S’applique à : Cercle vert avec un symbole de coche blanche. iOS (Swift) Cercle vert avec un symbole de coche blanche. macOS (Swift)

Ce tutoriel montre comment ajouter l’infrastructure de Kit de développement logiciel (SDK) pour l’authentification native de la bibliothèque d’authentification Microsoft (MSAL, Microsoft Authentification Library) à votre application iOS/macOS Swift.

Dans ce tutoriel, vous allez apprendre à :

  • Ajouter l’infrastructure MSAL à une application iOS/macOS
  • Créer une instance de SDK.

Prérequis

Ajouter l’infrastructure MSAL à une application iOS/macOS

  1. Ouvrez votre projet iOS/macOS dans Xcode.
  2. Sélectionnez Ajouter des dépendances de package... dans le menu Fichier.
  3. Entrez https://github.com/AzureAD/microsoft-authentication-library-for-objc comme URL de package et choisissez Ajouter un package.
  4. Ajoutez un nouveau groupe de trousseaux aux fonctionnalités de votre projet. Utilisez com.microsoft.adalcache sur iOS et com.microsoft.identity.universalstorage sur macOS.

Pour plus d’informations et d’autres mécanismes permettant d’ajouter MSAL à votre projet, consultez le fichier Lisez-moi du projet.

Créer une instance de SDK

  1. Importez la bibliothèque MSAL dans votre contrôleur d’affichage en ajoutant import MSAL en haut de votre classe ViewController.

  2. Ajoutez une variable de membre nativeAuth à votre classe ViewController en ajoutant le code suivant juste avant la fonction viewDidLoad() :

    var nativeAuth: MSALNativeAuthPublicClientApplication!
    
  3. Ensuite, ajoutez le code suivant à la fonction viewDidLoad() :

     do {
        nativeAuth = try MSALNativeAuthPublicClientApplication(
            clientId: "Enter_the_Application_Id_Here",
            tenantSubdomain: "Enter_the_Tenant_Subdomain_Here",
            challengeTypes: [.OOB]
        )
    
        print("Initialized Native Auth successfully.")
     } catch {
        print("Unable to initialize MSAL \(error)")
     }
    
  4. Remplacez les valeurs suivantes par les valeurs du centre d’administration Microsoft Entra :

    1. Trouvez la valeur Enter_the_Application_Id_Here et remplacez-la par l’ID d’application (client) de l’application inscrite précédemment.

    2. Trouvez la valeur Enter_the_Tenant_Subdomain_Here et remplacez-la 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 Répertoire (locataire), découvrez comment lire les informations de votre locataire.

      Les types de demandes sont une liste de valeurs, que l’application utilise pour notifier à Microsoft Entra la méthode d’authentification prise en charge.

      • Pour une inscription et une connexion du flux avec un code secret à usage unique envoyé par e-mail, utilisez [.OOB].
      • Pour une inscription et une connexion du flux avec un e-mail et un mot de passe, utilisez [.OOB, .password].
      • Pour une réinitialisation de mot de passe en libre-service (SSPR), utilisez [.OOB].

      Découvrez plus en détail les types de demandes.

  5. Pour effectuer la génération, sélectionnez l'option Produit>Générer dans la barre d’outils de votre projet.

Facultatif : Configurer la journalisation

MSAL fournit une API de journalisation que vous pouvez utiliser pour activer et configurer la journalisation. Pour afficher toutes les sorties de débogage de MSAL, ajoutez le code suivant au début de la fonction viewDidLoad() :

MSALGlobalConfig.loggerConfig.logLevel = .verbose
MSALGlobalConfig.loggerConfig.setLogCallback { logLevel, message, containsPII in
   if !containsPII {
      print("MSAL: \(message ?? "")")
   }
}

Cela produit tous les journaux de débogage de MSAL. Ceux-ci peuvent être utiles pour identifier des problèmes et apprendre comment fonctionnent les flux d’authentification natifs. Pour en savoir plus sur la configuration des niveaux de journaux et sur les meilleures pratiques, consultez Journalisation dans MSAL pour iOS/macOS.

Étape suivante