Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
S’applique à : Locataires de main-d’œuvre
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
- Xcode
- Si vous ne l’avez pas encore fait, suivez les instructions dans Connecter des utilisateurs dans un échantillon d’application mobile iOS (Swift) à l’aide de l’authentification native et inscrivez une application dans votre locataire externe. Veillez à effectuer les étapes suivantes :
- Inscrire une application.
- Activez les flux d’authentification publics et natifs.
- Accordez des autorisations d’API.
- Créez un flux utilisateur.
- Associez l’application au flux utilisateur.
- Projet iOS/macOS
Ajouter l’infrastructure MSAL à une application iOS/macOS
- Ouvrez votre projet iOS/macOS dans Xcode.
- Sélectionnez Ajouter des dépendances de package... dans le menu Fichier .
- Entrez
https://github.com/AzureAD/microsoft-authentication-library-for-objc
l’URL du package et choisissez Ajouter un package. - Ajoutez un nouveau groupe de keychains aux fonctionnalités de votre projet. Utiliser
com.microsoft.adalcache
sur iOS etcom.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)
Importez la bibliothèque MSAL dans votre contrôleur de vue en ajoutant
import MSAL
en haut de votreViewController
classe.Ajoutez une
nativeAuth
variable membre à votreViewController
classe en ajoutant le code suivant juste avant laviewDidLoad()
fonction :var nativeAuth: MSALNativeAuthPublicClientApplication!
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)") }
Remplacez les valeurs suivantes par les valeurs du Centre d’administration Microsoft Entra :
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.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 estcontoso.onmicrosoft.com
, utilisezcontoso
. 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.
- Pour les flux d’inscription et de connexion avec un code secret à usage unique par e-mail, utilisez
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.