Partager via


Choisir le mécanisme d’authentification approprié

Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2019

Pour les applications qui s’interfacent avec Azure DevOps Services, vous devez vous authentifier pour accéder à des ressources telles que les API REST. Cet article fournit des conseils pour vous aider à choisir le mécanisme d’authentification approprié pour votre application.

Le tableau suivant présente les concepts d’authentification suggérés à prendre en compte pour différents scénarios d’application. Reportez-vous aux descriptions, exemples et exemples de code associés pour vous aider à démarrer.

Type d’application Description Exemple Mécanisme d’authentification Exemples de code
Application côté client interactive (REST) Application cliente qui autorise l’interaction utilisateur appelant des API REST Azure DevOps Services Application console énumérant des projets dans un organization OAuth avec Microsoft Authentication Library (MSAL) Échantillon
Application côté client interactive (bibliothèques clientes) Application cliente qui autorise les interactions utilisateur appelant les bibliothèques clientes Azure DevOps Services Application console énumérant les bogues attribués à l’utilisateur actuel OAuth avec bibliothèques clientes Échantillon
Application côté client non interactive Application texte sans tête uniquement côté client Application console affichant tous les bogues attribués à un utilisateur OAuth avec flux de Profil d’appareil Échantillon
Un jeton d’accès personnel (PAT) Jeton du porteur pour accéder à vos propres ressources Utilisez votre PAT à la place de votre mot de passe pour les appels REST ad hoc. Pas idéal pour les applications. Pats exemples
Application serveur Azure DevOps Server application à l’aide de la bibliothèque du modèle de service client extension Azure DevOps Server affichant les tableaux de bord des bogues d’équipe Bibliothèques clientes Échantillon
Service principal ou Identité managée Application avec sa propre identité Fonction Azure pour créer des éléments de travail Principaux de service et identités managées Échantillon
Extension Web Extension des services Azure DevOps Extension Cartes agiles KIT DE DÉVELOPPEMENT LOGICIEL (SDK) d’extension web VSS Échantillon

Conseil

L'authentification basée sur Entra est notre recommandation pour les développeurs qui cherchent à s'intégrer à Azure DevOps Services, si vous interagissez avec les comptes Microsoft Entra. Les exemples d’applications OAuth de ce tableau utilisent la plateforme d’identités de Microsoft Entra pour le développement d’applications.
Pour l’authentification avec des comptes Microsoft (MSA) ou des utilisateurs d’Azure DevOps Server, consultez nos bibliothèques clientes ou PATs.
Pour plus d’informations, consultez notre blog sur la réduction de l’utilisation des PAT sur notre plateforme.

Forum Aux Questions (FAQ)

Q : Pourquoi mon compte de service ne peut-il pas accéder à l’API REST Azure DevOps ?

R : Votre compte de service peut ne pas avoir « matérialisé ». Les comptes de service sans autorisations de connexion interactive ne peuvent pas se connecter. Pour plus d’informations, consultez cette procédure de contournement pour une solution.

Q : Dois-je utiliser les bibliothèques clientes Azure DevOps Services ou les API REST Azure DevOps Services pour mon application interactive côté client ?

R : Nous vous recommandons d’utiliser des bibliothèques clientes Azure DevOps Services sur des API REST pour accéder aux ressources Azure DevOps Services. Ils sont plus simples et plus faciles à gérer lorsque les versions du point de terminaison REST changent. Si les bibliothèques clientes ne disposent pas de certaines fonctionnalités, utilisez MSAL pour l’authentification avec nos API REST.

Q : Cette aide s’applique-t-elle uniquement à Azure DevOps Services ou est-elle également pertinente pour les utilisateurs locaux Azure DevOps Server ?

R : Ces conseils concernent principalement les utilisateurs d’Azure DevOps Services. Pour les utilisateurs d’Azure Devops Server, nous vous recommandons d’utiliser les bibliothèques clientes, l’authentification Windows ou les jetons d’accès personnel (PAT) pour l’authentification.

Q : Que se passe-t-il si je souhaite que mon application s’authentifie auprès de Azure DevOps Server et Azure DevOps Services ?

R : La meilleure pratique consiste à avoir des chemins d’authentification distincts pour Azure DevOps Server et Azure DevOps Services. Vous pouvez utiliser le requestContext service pour déterminer le service auquel vous accédez, puis appliquer le mécanisme d’authentification approprié. Si vous préférez une solution unifiée, les PAT fonctionnent pour les deux.