Configurer des projets Office 365 API pour la distribution
Cette page explique certaines étapes que les développeurs doivent envisager d’utiliser sur leurs projets qui exploitent les API Office 365 avant de les distribuer à d’autres développeurs, à leurs clients ou à des systèmes de contrôle source tels que Team Foundation Server, Git ou Visual Studio Team Services.
Plus précisément, cette page examine deux étapes :
- Corriger la référence du package d’NuGet client Azure AD Graph
- Nettoyer le web.config pour obtenir des détails spécifiques à l’application
Corriger la référence du package d’NuGet client Azure AD Graph
Tous les projets qui tirent parti des SDK de l’API Office 365 en ajoutant un service connecté incluent un package NuGet qui ajoute des références Office 365 et Azure Active Directory (Azure AD) au projet créé dans Visual Studio.
Le package NuGet ajouté au projet par les outils de l’API Office 365 dans Visual Studio n’est pas présent dans le Registre du package NuGet et, par conséquent, tente d’effectuer une restauration de package NuGet échoue car il ne trouve pas de package correspondant.
Comprendre le problème
Les outils d’API Office 365 pour Visual Studio, version 1.3.41104.1, ajoutent plusieurs packages NuGet aux projets dans le cadre de l’exécution de l’Assistant Ajout de service connecté. Un package en particulier présente un défi : la bibliothèque Microsoft Azure Active Directory Graph client.
La façon dont Visual Studio fonctionne est qu’il contient généralement une copie locale du package NuGet afin que les développeurs n’ont pas toujours besoin d’être connectés à Internet pour télécharger les packages NuGet. Le package que les outils incluent a un ID Microsoft.Azure.ActiveDirectory.GraphClient et une version de 1.0.22.
Lorsque les projets sont engagés dans le contrôle de source, les packages ne sont généralement pas inclus dans le cadre de la validation, car ils peuvent ajouter de nombreuses demandes d’espace de stockage supplémentaires et augmenter inutilement la taille d’un package lors du partage avec d’autres développeurs. Par conséquent, l’une des premières tâches que les développeurs font après avoir obtenu une copie du projet à partir du contrôle de source consiste à exécuter NuGet restauration de package.
La difficulté est qu’un package avec le même ID et la même version n’existe pas dans le NuGet de package ; il n’existe aucun package avec un ID Microsoft.Azure.ActiveDirectory.GraphClient et une version de 1.0.22. Le package existe dans le registre NuGet package, Microsoft.Azure.ActiveDirectory.GraphClient,mais sous différentes versions.
Résolution de la référence du package d’NuGet client Azure AD Graph
Tant que les outils de l’API Office 365 pour Visual Studio n’ont pas été mis à jour pour résoudre ce problème, nous vous recommandons de modifier le projet avant de la validation dans votre système de contrôle source, que vous utilisiez Team Foundation Server, Visual Studio Team Services, Git ou toute autre solution.
Après avoir créé le projet, recherchez dans le fichier packages.config du projet et recherchez un package avec un ID Microsoft.Azure.ActiveDirectory.GraphClient et une version de 1.0.22. Le moyen le plus sûr de mettre à jour le projet consiste à désinstaller puis à réinstaller le package.
Ouvrez la console Gestionnaire de package dans Visual Studio et entrez les entrées suivantes pour désinstaller le package :
PM> Uninstall-Package -Id Microsoft.Azure.ActiveDirectory.GraphClient
Notes
Si la désinstallation a pour effet de ne pas trouver le package, supprimez simplement la référence du package du fichier packages.config manuellement et enregistrez vos modifications.
À présent, installez la version publique du même package NuGet à partir du Registre public :
PM> Install-Package -Id Microsoft.Azure.ActiveDirectory.GraphClient -Version 2.0.2
Notes
L’exemple précédent fait référence à une version spécifique du client Azure AD Graph connu pour fonctionner avec les API Office 365 client. Les versions futures peuvent fonctionner, donc l’omission de -Version l’argument est facultative.
Nettoyer le web.config pour obtenir des détails spécifiques à l’application
Les outils de l’API Office 365 pour Visual Studio ajoutent la possibilité de créer une application Azure AD avec les autorisations nécessaires pour les API Office 365 à l’aide de l’Assistant Service connecté dans Visual Studio. Lorsque vous terminez l’Assistant, plusieurs entrées et personnalisations sont réalisées dans le fichier web.config projet.
Ces modifications incluent les paramètres de module de mise en place suivants :
- ida:ClientID : ID unique de l’application créée dans votre client Azure AD.
- ida:Password: clé de l’application Azure AD générée par l’Assistant Service connecté.
- ida:AuthorizationUri: point de terminaison utilisé pour s’authentifier auprès d’Azure AD.
Les ida:ClientID et ida:Password sont propres à l’application Azure AD. Certaines équipes de développement peuvent, pour chaque développeur, créer du code par rapport à leur propre application, de la même manière que les développeurs travaillent sur leur propre base de données de développement locale. Par conséquent, vous pouvez penser que les ida:ClientID et ida:Password sont semblables aux chaînes de connexion de base de données.
La prochaine fois qu’un développeur utilise l’Assistant Service connecté pour créer une application Azure AD du projet, l’Assistant détecte l’ida:CliendID et tente de se connecter à une application dans le client Azure AD de l’utilisateur actuel. Si aucune correspondance n’est trouvée, l’Assistant Service connecté envoie une erreur.
Par conséquent, avant de validation du projet en contrôle de code source ou avant de le partager avec d’autres développeurs, nous vous recommandons de supprimer les valeurs des paramètres de la recherche ida:ClientID et ida:Password dans le fichier web.config.