Partager via


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

S’applique à :Cercle blanc avec un symbole X gris. Locataires de main-d’œuvre Cercle vert avec un symbole de coche blanche. Locataires externes (en savoir plus)

Ce tutoriel montre comment ajouter l’infrastructure DU SDK d’authentification native MSAL (Microsoft Authentication Library) à votre application iOS/macOS Swift.

Dans ce tutoriel, vous allez :

  • Ajoutez l’infrastructure MSAL à une application iOS/macOS.
  • Créez une instance du Kit de développement logiciel (SDK).

Conditions préalables

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 l’URL du package et choisissez Ajouter un package.
  4. Ajoutez un nouveau groupe de keychains aux fonctionnalités de votre projet. Utiliser com.microsoft.adalcache sur iOS et com.microsoft.identity.universalstorage sur macOS.

Pour obtenir 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 du Kit de développement logiciel (SDK)

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

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

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

     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. Recherchez la valeur et remplacez-la Enter_the_Application_Id_Here par l’ID d’application (client) de l’application que vous avez inscrite précédemment.

    2. Recherchez Enter_the_Tenant_Subdomain_Here et remplacez-le par le sous-domaine du répertoire (tenant). Par exemple, si le domaine principal de votre locataire est contoso.onmicrosoft.com, utilisez contoso. Si vous n’avez pas votre sous-domaine Directory (locataire), découvrez comment lire les détails de votre locataire.

      Les types de défis sont une liste de valeurs que l’application utilise pour informer Microsoft Entra de la méthode d’authentification qu’elle prend en charge.

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

      En savoir plus sur les types de défis.

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

Facultatif : Configuration de 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 viewDidLoad() fonction :

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

Cela génère tous les journaux de débogage de MSAL, ce qui peut être très utile pour diagnostiquer des problèmes et comprendre le fonctionnement des flux d'authentification natifs. Pour en savoir plus sur la configuration des niveaux de journal et les meilleures pratiques, consultez La journalisation dans MSAL pour iOS/macOS.

Étape suivante