Tutoriel : Préparer votre application iOS/macOS pour l’authentification native
S’applique à : iOS (Swift) 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
- 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.
- Activer les flux d’authentification de clients publics et natifs.
- Accorder des autorisations d’API.
- Créer un flux utilisateur.
- Associer l’application au flux d’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
comme URL de package et choisissez Ajouter un package. - Ajoutez un nouveau groupe de trousseaux aux fonctionnalités de votre projet. Utilisez
com.microsoft.adalcache
sur iOS etcom.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 du kit de développement logiciel (SDK)
Importez la bibliothèque MSAL dans votre contrôleur d’affichage en ajoutant
import MSAL
en haut de votre classeViewController
.Ajoutez une variable de membre
nativeAuth
à votre classeViewController
en ajoutant le code suivant juste avant la fonctionviewDidLoad()
:var nativeAuth: MSALNativeAuthPublicClientApplication!
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)") }
Remplacez les valeurs suivantes par les valeurs du centre d’administration Microsoft Entra :
Trouvez la valeur
Enter_the_Application_Id_Here
et remplacez-la par l’ID d’application (client) de l’application inscrite précédemment.Trouvez la valeur
Enter_the_Tenant_Subdomain_Here
et remplacez-la par le sous-domaine de l’annuaire (locataire). Par exemple, si votre domaine principal du client estcontoso.onmicrosoft.com
, utilisezcontoso
. Si vous ne connaissez pas votre sous-domaine d’annuaire (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]
.
En savoir plus sur les types de demandes.
- Pour une inscription et une connexion du flux avec un code secret à usage unique envoyé par e-mail, utilisez
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.