Configurer Office 365 projets d’API pour la distribution
Cette page explique certaines étapes que les développeurs doivent envisager d’entreprendre sur leurs projets qui tirent parti des API Office 365 avant de les distribuer à d’autres développeurs, à leurs clients ou à des systèmes de contrôle de code source tels que Team Foundation Server, Git ou Visual Studio Team Services.
Plus précisément, cette page examine deux étapes :
- Correction de la référence du package NuGet du client Graph Azure AD
- Nettoyer le fichier web.config pour obtenir des détails spécifiques à l’application
Correction de la référence du package NuGet du client Graph Azure AD
Tous les projets qui tirent parti des sdk d’API Office 365 pour ajouter un service connecté incluent un package NuGet qui ajoute Office 365 et des références Azure Active Directory (Azure AD) au projet créé dans Visual Studio.
Le package NuGet ajouté au projet par les outils API Office 365 dans Visual Studio n’est pas présent dans le registre de packages NuGet. Par conséquent, les tentatives de restauration d’un package NuGet échouent, car il ne trouve pas de package correspondant.
Comprendre le problème
Le Office 365 API Tools pour Visual Studio, version 1.3.41104.1, ajoute plusieurs packages NuGet aux projets dans le cadre de l’Exécution de l’Assistant Ajout d’un service connecté. Un package en particulier présente un défi : la bibliothèque cliente Microsoft Azure Active Directory Graph.
Le fonctionnement de Visual Studio est qu’il ou les compléments contiennent généralement une copie locale du package NuGet afin que les développeurs n’aient pas toujours besoin d’être connectés à Internet pour télécharger les packages NuGet. Le package inclus dans les outils 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 code source, les packages ne sont généralement pas inclus dans le cadre de la validation, car ils peuvent ajouter beaucoup d’espace de stockage supplémentaire 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 effectuent après avoir obtenu une copie du projet à partir du contrôle de code source consiste à exécuter la restauration de package NuGet.
Le défi est qu’un package avec le même ID et la même version n’existe pas dans le registre de packages NuGet . il n’existe aucun package avec l’ID Microsoft.Azure.ActiveDirectory.GraphClient et la version 1.0.22. Le package existe dans le registre de packages NuGet, Microsoft.Azure.ActiveDirectory.GraphClient, mais dans des versions différentes.
Correction de la référence du package NuGet du client Azure AD Graph
Jusqu’à ce que les outils d’API Office 365 pour Visual Studio soient mis à jour pour résoudre ce problème, nous vous recommandons de modifier le projet avant de valider votre système de contrôle de code source, que vous utilisiez Team Foundation Server, Visual Studio Team Services, Git ou toute autre solution.
Après avoir créé le projet, recherchez le fichier packages.config du projet et recherchez un package avec l’ID Microsoft.Azure.ActiveDirectory.GraphClient et la version 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 du Gestionnaire de package dans Visual Studio et entrez ce qui suit pour désinstaller le package :
PM> Uninstall-Package -Id Microsoft.Azure.ActiveDirectory.GraphClient
Remarque
Si la désinstallation génère une erreur de non-recherche du package, supprimez simplement manuellement la référence du package du fichier packages.config 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
Remarque
L’exemple précédent fait référence à une version spécifique du client Azure AD Graph connue pour fonctionner avec les API Office 365. Les versions ultérieures peuvent fonctionner. L’omission de l’argument -Version
est donc facultative.
Nettoyer le fichier web.config pour obtenir des détails spécifiques à l’application
Les outils API Office 365 pour Visual Studio permettent 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. À la fin de l’Assistant, plusieurs entrées et personnalisations sont apportées au fichier web.config du projet.
Ces modifications incluent les paramètres de complément suivants :
- ida:ClientID : ID unique de l’application créée dans votre locataire 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 l’authentification auprès d’Azure AD.
ida:ClientID et ida:Password sont uniques à l’application Azure AD. Certaines équipes de développement peuvent choisir pour chaque développeur de coder par rapport à leur propre application, de la même façon que les développeurs travaillent sur leur propre base de données de développement locale. Par conséquent, vous pouvez considérer ida:ClientID et ida:Password comme similaires aux chaînes de connexion de base de données.
La prochaine fois qu’un développeur utilisera l’Assistant Service connecté pour créer une application Azure AD du projet, l’Assistant détecte ida:CliendID et tente de se connecter à une application dans le locataire Azure AD de l’utilisateur actuel. Si aucune correspondance n’est trouvée, l’Assistant Service connecté génère une erreur.
Par conséquent, avant de valider le projet dans le 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 complément ida:ClientID et ida:Password dans le fichier web.config.