Migrer des applications iOS d’ADAL.NET vers MSAL.NET en utilisant Microsoft Authenticator
Vous utilisez la bibliothèque d’authentification Azure Active Directory pour .NET (ADAL.NET) et le répartiteur iOS. Il est maintenant temps de migrer vers la bibliothèque d'authentification Microsoft pour .NET (MSAL.NET) qui prend en charge le répartiteur sur iOS depuis la version 4.3.
Par où démarrer ? Cet article vous aide à migrer votre application Xamarin iOS d'ADAL vers MSAL.
Prérequis
Cet article part du principe que vous disposez déjà d’une application Xamarin iOS intégrée avec le répartiteur iOS. Si ce n’est pas le cas, passez directement à MSAL.NET pour commencer à implémenter le répartiteur. Pour des informations sur l’appel du répartiteur iOS dans MSAL.NET avec une nouvelle application, consultez cette documentation.
Remarque
MSAL.NET versions 4.61.0 et ultérieures ne prennent pas en charge la plateforme Windows universelle (UWP), Xamarin Android et Xamarin iOS. Nous vous recommandons de migrer vos applications Xamarin vers des frameworks modernes comme MAUI. En savoir plus sur la dépréciation dans Annonce de la dépréciation à venir de MSAL.NET pour Xamarin et UWP.
Background
Que sont les répartiteurs ?
Les répartiteurs sont des applications fournies par Microsoft sur Android et iOS. (Voir l'application Microsoft Authenticator sur iOS et Android, ainsi que l’application Portail d'entreprise Intune sur Android.)
Ils permettent d’effectuer les opérations suivantes :
- Authentification unique.
- Identification d’appareil requise par certaines stratégies d’accès conditionnel. Pour plus d’informations, consultez Gestion des appareils.
- Vérification de l’identification de l'application, également requise dans certains scénarios d’entreprise. Pour plus d'informations, consultez Gestion des applications mobiles Intune (GAM).
Migrer d’ADAL vers MSAL
Étape 1 : Activer le répartiteur
Code ADAL actuel : | Contrepartie MSAL : |
Dans ADAL.NET, la prise en charge du répartiteur était activée pour chaque contexte d’authentification. Elle est désactivée par défaut. Vous deviez définir un indicateur
Par ailleurs, dans le code spécifique de la plateforme de cet exemple, dans le convertisseur de page pour iOS, vous devez définir l’indicateur Indicateur
Ensuite, incluez les paramètres dans l’appel d’acquisition de jeton :
|
Dans MSAL.NET, la prise en charge du répartiteur est activée pour chaque application cliente publique (PublicClientApplication). Elle est désactivée par défaut. Pour l’activer, utilisez le le paramètre
Dans l’appel d’acquisition de jeton :
|
Étape 2 : Définir un UIViewController()
Dans ADAL.NET, vous avez transmis un UIViewController dans le cadre de PlatformParameters
. (Voir l'exemple de l'étape 1.) Dans MSAL.NET, pour offrir plus de flexibilité aux développeurs, une fenêtre d’objet est utilisée, mais n’est pas obligatoire dans l’utilisation normale d’iOS. Pour pouvoir utiliser le répartiteur, définissez la fenêtre d’objet pour qu’elle envoie et reçoive des réponses du répartiteur.
Code ADAL actuel : | Contrepartie MSAL : |
Un UIViewController est transmis dans
|
Dans MSAL.NET, vous devez effectuer deux opérations pour définir la fenêtre d’objet pour iOS :
Par exemple : Dans
Dans
Dans l’appel d’acquisition de jeton :
|
Étape 3 : Mettre à jour AppDelegate pour gérer le rappel
ADAL et MSAL appellent le répartiteur, puis celui-ci rappelle votre application par le biais de la méthode OpenUrl
de la classe AppDelegate
. Pour plus d’informations, consultez cette documentation.
Il n'existe ici aucune différence entre ADAL.NET et MSAL.NET.
Étape 4 : Inscrire un schéma d’URL
ADAL.NET et MSAL.NET utilisent des URL pour appeler le répartiteur, avant de retourner la réponse du répartiteur à l’application. Inscrivez le modèle d’URL dans le fichier Info.plist
de votre application comme suit :
Code ADAL actuel : | Contrepartie MSAL : |
Le modèle d’URL est propre à votre application. |
.
en tant que préfixe, suivi de votre Par exemple :
Notes Ce schéma d’URL fait partie intégrante de l’URI de redirection utilisé pour identifier de manière unique l’application lorsqu’elle reçoit la réponse du répartiteur. |
Étape 5 : Ajouter l’identificateur du répartiteur à la section LSApplicationQueriesSchemes
ADAL.NET et MSAL.NET utilisent -canOpenURL:
pour vérifier si le répartiteur est installé sur l’appareil. Ajoutez l’identificateur correct pour le répartiteur iOS à la section LSApplicationQueriesSchemes du fichier info.plist comme suit :
Code ADAL actuel : | Contrepartie MSAL : |
Utilisations
|
Utilisations
|
Étape 6 : Inscrire votre URI de redirection dans le portail Azure
ADAL.NET et MSAL.NET ajoutent tous deux une exigence supplémentaire à l'URI de redirection lorsqu'il cible le répartiteur. Enregistrez l’URI de redirection avec votre application sur le portail Azure.
Code ADAL actuel : | Contrepartie MSAL : |
Exemple :
|
Exemple :
|
Pour plus d’informations sur l’inscription de l’URI de redirection dans le Portail Azure, consultez Étape 7 : Ajouter un URI de redirection à l’inscription de votre application.
Étape 7 : Définir les droits Entitlements.plist
Activer l’accès au trousseau dans le fichier deEntitlements.plist :
<key>keychain-access-groups</key>
<array>
<string>$(AppIdentifierPrefix)com.microsoft.adalcache</string>
</array>
Pour plus d’informations sur l’activation de l’accès au trousseau, consultez Activer l’accès au trousseau.
Étapes suivantes
Découvrez les considérations spécifiques de Xamarin iOS avec MSAL.NET.
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : pendant toute l’année 2024, nous allons éliminer progressivement Problèmes GitHub comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, voir :Soumettre et afficher des commentaires pour