Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Azure DevOps Services
Découvrez comment authentifier les utilisateurs de votre application web pour l’accès à l’API REST, afin que votre application ne continue pas à demander des noms d’utilisateur et des mots de passe.
Remarque
Les instructions suivantes sont destinées aux utilisateurs d’Azure DevOps Services, car OAuth 2.0 n’est pas pris en charge sur Azure DevOps Server. Les bibliothèques clientes sont une série de packages conçus spécifiquement pour étendre Azure DevOps Server fonctionnalités. Pour les utilisateurs locaux, nous vous recommandons d’utiliser les bibliothèques clientes, l’authentification Windows ou les jetons d’accès personnels (PAT) pour s’authentifier au nom d’un utilisateur.
À propos d’OAuth 2.0
Azure DevOps Services utilise le protocole OAuth 2.0 pour autoriser votre application pour un utilisateur et générer un jeton d’accès. Utilisez ce jeton lorsque vous appelez les API REST à partir de votre application. Lorsque vous appelez les API Azure DevOps Services pour cet utilisateur, utilisez le jeton d’accès de cet utilisateur. Les jetons d’accès expirent, donc actualisez le jeton d’accès en cas d’expiration.
Modèles OAuth disponibles
Importante
Lors de la création d’une application OAuth 2.0, utilisez Microsoft Entra ID OAuth. Azure DevOps OAuth 2.0 sera obsolète en 2026. Depuis avril 2025, nous n’acceptons plus de nouvelles applications OAuth Azure DevOps. En savoir plus dans notre billet de blog.
Microsoft Entra ID OAuth
La création d’une nouvelle plateforme peut être écrasante. Dans ce guide de création d’une application Microsoft Entra pour Azure DevOps, nous collectons des liens utiles susceptibles d’être utiles pour lancer le processus de développement d’applications OAuth sur Microsoft Entra. Pour les personnes qui migrent d’Azure DevOps OAuth vers Microsoft Entra OAuth, nous vous proposons des conseils à prendre en compte lors de votre effort de migration.
Azure DevOps OAuth
Pour les applications existantes, consultez le guide de l’application OAuth Azure DevOps. Vous pouvez également gérer les applications Azure DevOps autorisées à accéder à vos ressources.
Étendues
Les développeurs sont censés spécifier les étendues dont ils ont besoin pour leurs utilisateurs. Les mêmes étendues sont disponibles sur les deux modèles OAuth. Les étendues suivantes sont disponibles uniquement via des flux délégués (pour le compte de l’utilisateur).
Pour connaître les étendues dont vous avez besoin pour votre application, examinez l’en-tête de la scopes
page Référence de l’API pour chaque API que vous utilisez.
Certaines étendues peuvent inclure d’autres étendues, par exemple vso.code_manage
vso.code_write
. Par exemple, de nombreuses étendues héritent de vso.profile
. Tenez compte du nombre minimal d’étendues dont vous avez besoin lors de la demande de consentement d’étendue auprès des utilisateurs.
Remarque
Les étendues autorisent uniquement l’accès aux API REST et sélectionnent des points de terminaison Git. L’accès à l’API SOAP n’est pas pris en charge.
Catégorie | Étendue | Nom | Privilèges élevés | Descriptif | Hérite de |
---|---|---|---|---|---|
Sécurité avancée | vso.advsec |
AdvancedSecurity (lecture) | Oui | Accorde la possibilité de lire des alertes, des instances de résultats, des instances de résultat d'analyse. | |
vso.advsec_write |
Advanced Security (lecture et écriture) | Oui | Accorde la possibilité de charger des analyses dans sarif | vso.advsec |
|
vso.advsec_manage |
SécuritéAvancée (lecture, écriture et gestion) | Oui | Accorde la possibilité de charger des analyses dans sarif | vso.advsec_write |
|
Pools d’agents | vso.agentpools |
Pools d’agents (lire) | Accorde la possibilité d’afficher des tâches, des pools, des files d’attente, des agents et des travaux en cours d’exécution ou récemment terminés pour les agents. | ||
vso.agentpools_manage |
Pools d'agents (lire, gérer). | Oui | Accorde la possibilité de gérer des pools, des files d’attente et des agents. | vso.agentpools |
|
vso.environment_manage |
Environnement (lecture, gestion) | Oui | Accorde la possibilité de gérer des pools, des files d’attente, des agents et des environnements. | vso.agentpools_manage |
|
Analyse | vso.analytics |
Analyse (lecture) | Accorde la possibilité d’interroger des données d’analyse. | ||
Audit | vso.auditlog |
Journal d'audit (lecture) | Accorde la possibilité de lire le journal d’audit aux utilisateurs. | ||
vso.auditstreams_manage |
Flux d'audit (lecture) | Oui | Accorde la possibilité de gérer les flux d’audit aux utilisateurs. | vso.auditlog |
|
Créer | vso.build |
Build (lire) | Accorde la possibilité d’accéder aux artéfacts de build, notamment les résultats de build, les définitions et les demandes, ainsi que la possibilité de recevoir des notifications sur les événements de construction via des *service hooks*. | vso.hooks_write |
|
vso.build_execute |
Build (lecture et exécution) | Oui | Accorde la possibilité d'accéder aux artefacts de build, y compris les résultats, les définitions et les requêtes de build, ainsi que la possibilité de mettre en file d'attente un build, de mettre à jour les propriétés de build et de recevoir des notifications sur les événements de build via des hooks de service. | vso.build |
|
Code | vso.code |
Code (lire) | Accorde la possibilité de lire le code source et les métadonnées sur les validations, les ensembles de modifications, les branches et d’autres artefacts de contrôle de version. Accorde également la possibilité de rechercher du code et d’être averti des événements de contrôle de version via des hooks de service. | vso.hooks_write |
|
vso.code_write |
Code (lecture et écriture) | Oui | Accorde la possibilité de lire, de mettre à jour et de supprimer du code source, d’accéder aux métadonnées relatives aux validations, aux ensembles de modifications, aux branches et à d’autres artefacts de contrôle de version. Accorde également la possibilité de créer et de gérer des demandes de tirage et des révisions de code, ainsi que de recevoir des notifications sur les événements de contrôle de version via des hooks de service. | vso.code |
|
vso.code_manage |
Code (lecture, écriture et gestion) | Oui | Accorde la possibilité de lire, de mettre à jour et de supprimer du code source, d’accéder aux métadonnées relatives aux validations, aux ensembles de modifications, aux branches et à d’autres artefacts de contrôle de version. Accorde également la possibilité de créer et de gérer des référentiels de code, de créer et de gérer des demandes de tirage et des révisions de code, et de recevoir des notifications sur les événements de contrôle de version via des hooks de service. | vso.code_write |
|
vso.code_full |
Code (complet) | Oui | Octroie un accès complet au code source, aux métadonnées sur les validations, les ensembles de modifications, les branches et d’autres artefacts de contrôle de version. Accorde également la possibilité de créer et de gérer des référentiels de code, de créer et de gérer des demandes de tirage et des révisions de code, et de recevoir des notifications sur les événements de contrôle de version via des hooks de service. Inclut également une prise en charge limitée des API OM Client. | vso.code_manage |
|
vso.code_status |
Code (état) | Accorde la possibilité de lire et d'écrire le statut des commits et des demandes de tirage. | |||
Serveur connecté | vso.connected_server |
Serveur connecté | Accorde la possibilité d’accéder aux points de terminaison nécessaires à partir d’un serveur connecté local. | ||
Droits | vso.entitlements |
Droits d'utilisation (lecture) | Fournit un accès en lecture seule au point de terminaison des droits de licence pour obtenir des droits d'utilisation de compte. | ||
vso.memberentitlementmanagement |
Gestion MemberEntitlement (lecture) | Accorde la possibilité de lire les utilisateurs, leurs licences ainsi que les projets et extensions auxquels ils peuvent accéder. | |||
vso.memberentitlementmanagement_write |
Gestion MemberEntitlement (écriture) | Oui | Accorde la possibilité de gérer les utilisateurs, leurs licences ainsi que les projets et extensions auxquels ils peuvent accéder. | vso.memberentitlementmanagement |
|
Extensions | vso.extension |
Extensions (lecture) | Accorde la possibilité de lire les extensions installées. | vso.profile |
|
vso.extension_manage |
Extensions (lire et gérer) | Oui | Accorde la possibilité d’installer, de désinstaller et d’effectuer d’autres actions administratives sur les extensions installées. | vso.extension |
|
vso.extension.data |
Données d'extension (lecture) | Accorde la possibilité de lire des données (paramètres et documents) stockées par des extensions installées. | vso.profile |
||
vso.extension.data_write |
Données d'extension (lecture et écriture) | Accorde la possibilité de lire et d’écrire des données (paramètres et documents) stockées par les extensions installées. | vso.extension.data |
||
Connexions GitHub | vso.githubconnections |
Connexions GitHub (lecture) | Accorde la possibilité de lire les connexions GitHub et les données de référentiels GitHub. | ||
vso.githubconnections_manage |
Connexions GitHub (lecture et gestion) | Oui | Accorde la possibilité de lire et de gérer des connexions GitHub et des données de référentiels GitHub | vso.githubconnections |
|
Graphe & identité | vso.graph |
Graphe (lecture) | Accorde la capacité de lire les informations sur l'utilisateur, le groupe, l’étendue et l'appartenance au groupe. | ||
vso.graph_manage |
Graphe (gestion) | Oui | Accorde la possibilité de lire les informations d’appartenance des utilisateurs, des groupes, de l’étendue et du groupe, et d’ajouter des utilisateurs, des groupes et de gérer les appartenances aux groupes. | vso.graph |
|
vso.identity |
Identité (lire) | Accorde la possibilité de lire des identités et des groupes. | |||
vso.identity_manage |
Identité (gestion) | Oui | Accorde la possibilité de lire, d’écrire et de gérer des identités et des groupes. | vso.identity |
|
Groupe d’ordinateurs | vso.machinegroup_manage |
Groupe de déploiement (lecture, gestion) | Oui | Permet de gérer les pools de groupes de déploiement et d’agents. | vso.agentpools_manage |
Place de marché | vso.gallery |
Place de marché | Accorde l'accès en lecture aux éléments publics et privés et aux éditeurs. | vso.profile |
|
vso.gallery_acquire |
Place de marché (acquisition) | Accorde l'accès en lecture et la possibilité d'acquérir des objets. | vso.gallery |
||
vso.gallery_publish |
Place de marché (publication) | Oui | Accorde l’accès en lecture et la possibilité de charger, mettre à jour et partager des éléments. | vso.gallery |
|
vso.gallery_manage |
Place de marché (gérer) | Oui | Accorde l'accès en lecture et la possibilité de publier et de gérer des éléments et des éditeurs. | vso.gallery_publish |
|
Notifications | vso.notification |
Notifications (lecture) | Fournit un accès en lecture aux abonnements et aux métadonnées d’événement, y compris les valeurs de champ filtrables. | vso.profile |
|
vso.notification_write |
Notifications (écriture) | Fournit un accès en lecture et en écriture aux abonnements et un accès en lecture aux métadonnées d’événement, y compris les valeurs de champ filtrables. | vso.notification |
||
vso.notification_manage |
Notifications (gestion) | Fournit un accès en lecture, en écriture et en gestion aux abonnements, et un accès en lecture aux métadonnées d’événement, y compris les valeurs de champ filtrables. | vso.notification_write |
||
vso.notification_diagnostics |
Notifications (diagnostiques) | Fournit l’accès aux journaux de diagnostic liés aux notifications et offre la possibilité d’activer les diagnostics pour des abonnements individuels. | vso.notification |
||
Emballage | vso.packaging |
Création de package (lecture) | Accorde la possibilité de lire des flux et des packages. | vso.profile |
|
vso.packaging_write |
Empaquetage (lecture et écriture) | Oui | Accorde la possibilité de créer et lire des flux et des packages. | vso.packaging |
|
vso.packaging_manage |
Empaquetage (lecture, écriture et gestion) | Oui | Accorde la possibilité de créer, lire, mettre à jour et supprimer des flux et des packages. | vso.packaging_write |
|
Ressources de pipeline | vso.pipelineresources_use |
Ressources de pipeline (utilisation) | Oui | Accorde la possibilité d’approuver la demande d’un pipeline pour utiliser une ressource protégée : pool d’agents, environnement, file d’attente, référentiel, fichiers sécurisés, connexion de service et groupe de variables. | |
vso.pipelineresources_manage |
Ressources de pipeline (utilisation et gestion) | Oui | Accorde la possibilité de gérer une ressource protégée ou la demande d’un pipeline pour utiliser une ressource protégée : pool d’agents, environnement, file d’attente, référentiel, fichiers sécurisés, connexion de service et groupe de variables. | vso.pipelineresources_manage |
|
Projet et équipe | vso.project |
Projet et équipe (lire) | Permet de consulter les projets et les équipes. | ||
vso.project_write |
Projet et équipe (lecture et écriture) | Accorde la possibilité de lire et de mettre à jour des projets et des équipes. | vso.project |
||
vso.project_manage |
Projet et équipe (lire, écrire et gérer) | Oui | Accorde la possibilité de créer, lire, mettre à jour et supprimer des projets et des équipes. | vso.project_write |
|
Version | vso.release |
Release (lecture) | Accorde la possibilité de lire les artefacts de mise en production, notamment les versions, les définitions de mise en production et l’environnement de mise en production. | vso.profile |
|
vso.release_execute |
Release (lecture, écriture et exécution) | Oui | Accorde la possibilité de lire et de mettre à jour les artefacts de mise en production, notamment les versions, les définitions de mise en production et l’environnement de mise en production, ainsi que la possibilité de mettre en file d’attente une nouvelle version. | vso.release |
|
vso.release_manage |
Release (lecture, écriture, exécution et gestion) | Oui | Accorde la possibilité de lire, de mettre à jour et de supprimer des artefacts de mise en production, notamment les versions, les définitions de mise en production et l’environnement de mise en production, ainsi que la possibilité de mettre en file d’attente et d’approuver une nouvelle version. | vso.release_manage |
|
Fichiers sécurisés | vso.securefiles_read |
Fichiers sécurisés (lecture seule) | Oui | Accorde la possibilité de lire des fichiers sécurisés. | |
vso.securefiles_write |
Fichiers sécurisés (lecture, création) | Oui | Accorde la possibilité de lire et de créer des fichiers sécurisés. | vso.securefiles_read |
|
vso.securefiles_manage |
Fichiers sécurisés (lecture, création et gestion) | Oui | Accorde la possibilité de lire, de créer et de gérer des fichiers sécurisés. | vso.securefiles_write |
|
Sécurité | vso.security_manage |
Sécurité (gérer) | Oui | Accorde la possibilité de lire, d’écrire et de gérer les autorisations de sécurité. | |
Connexions de service | vso.serviceendpoint |
Points de terminaison de service (lecture) | Accorde la possibilité de lire les points de terminaison de service. | vso.profile |
|
vso.serviceendpoint_query |
Points de terminaison de service (lecture et requête) | Accorde la possibilité de lire et d’interroger des points de terminaison de service. | vso.serviceendpoint |
||
vso.serviceendpoint_manage |
Points de terminaison de service (lire, interroger et gérer) | Oui | Accorde la possibilité de lire, d’interroger et de gérer les points de terminaison de service. | vso.serviceendpoint_query |
|
Crochets de service | vso.hooks |
Crochets de service (lecture) | Accorde la possibilité de lire des abonnements et des métadonnées de crochets de service, notamment les événements pris en charge, les utilisateurs et les actions. (N'est plus public.) | vso.profile |
|
vso.hooks_write |
Crochets de service (lecture et écriture) | Accorde la possibilité de créer et de mettre à jour des abonnements de crochets de service et de lire les métadonnées, notamment les événements, consommateurs et actions pris en charge. (N'est plus public.) | vso.hooks |
||
vso.hooks_interact |
Crochets de service (interaction) | Accorde la possibilité d'interagir et d'effectuer des actions sur les événements reçus via des crochets de service. (N'est plus public.) | vso.profile |
||
Paramètres | vso.settings |
Paramètres (lecture) | Accorde la possibilité de lire les paramètres. | ||
vso.settings_write |
Paramètres (lecture et écriture) | Accorde la possibilité de créer et de lire des paramètres. | |||
Symboles | vso.symbols |
Symboles (à lire) | Accorde la possibilité de lire des symboles. | vso.profile |
|
vso.symbols_write |
Symboles (lecture et écriture) | Accorde la possibilité de lire et d’écrire des symboles. | vso.symbols |
||
vso.symbols_manage |
Symboles (lecture, écriture et gestion) | Accorde la possibilité de lire, d’écrire et de gérer des symboles. | vso.symbols_write |
||
Groupes de tâches | vso.taskgroups_read |
Groupes de tâches (lecture) | Accorde la possibilité de lire des groupes de tâches. | ||
vso.taskgroups_write |
Groupes de tâches (lecture, création) | Accorde la possibilité de lire et de créer des groupes de tâches. | vso.taskgroups_read |
||
vso.taskgroups_manage |
Groupes de tâches (lecture, création et gestion) | Oui | Accorde la possibilité de lire, de créer et de gérer des groupes de tâches. | vso.taskgroups_write |
|
Tableau de bord de l’équipe | vso.dashboards |
Tableaux de bord d’équipe (à lire) | Accorde la possibilité de lire les informations du tableau de bord de l’équipe. | ||
vso.dashboards_manage |
Tableaux de bord d’équipe (gérer) | Accorde la possibilité de gérer les informations du tableau de bord de l’équipe. | vso.dashboards |
||
Gestion des tests | vso.test |
Gestion des tests (lecture) | Accorde la possibilité de lire des plans de test, des cas, des résultats et d’autres artefacts associés à la gestion des tests. | vso.profile |
|
vso.test_write |
Gestion des tests (lecture et écriture) | Accorde la possibilité de lire, de créer et de mettre à jour des plans de test, des cas, des résultats et d’autres artefacts associés à la gestion des tests. | vso.test |
||
Sujets | vso.threads_full |
Threads PR | Accorde la possibilité de lire et d'écrire dans les fils de discussion des requêtes pull. | ||
Jetons | vso.tokens |
Jetons d’autorisation délégués | Oui | Accorde la possibilité de gérer les jetons d’autorisation délégués aux utilisateurs. | |
vso.tokenadministration |
Administration des jetons | Oui | Accorde la possibilité de gérer (afficher et révoquer) des jetons existants aux administrateurs de l’organisation. | ||
Profil utilisateur | vso.profile |
Profil utilisateur (lire) | Accorde la possibilité de lire votre profil, comptes, collections, projets, équipes et autres artefacts organisationnels de niveau supérieur. | ||
vso.profile_write |
Profil utilisateur (écriture) | Accorde la possibilité d’écrire dans votre profil. | vso.profile |
||
Groupes de variables | vso.variablegroups_read |
Groupes de variables (lecture) | Accorde la possibilité de lire des groupes de variables. | ||
vso.variablegroups_write |
Groupes de variables (lire, créer) | Accorde la possibilité de lire et de créer des groupes de variables. | vso.variablegroups_read |
||
vso.variablegroups_manage |
Groupes de variables (lecture, création et gestion) | Oui | Accorde la possibilité de lire, de créer et de gérer des groupes de variables. | vso.variablegroups_write |
|
Wiki | vso.wiki |
Wiki (lecture) | Accorde la possibilité de lire des wikis, des pages wiki et des pièces jointes wiki. Accorde également la possibilité de rechercher des pages wiki. | ||
vso.wiki_write |
Wiki (lecture et écriture) | Accorde la possibilité de lire, de créer et de mettre à jour des wikis, des pages wiki et des pièces jointes wiki. | vso.wiki |
||
Éléments de travail | vso.work |
Éléments de travail (lire) | Octroie la possibilité de lire des éléments de travail, des requêtes, des tableaux, des zones et des itérations, ainsi que d’autres métadonnées associées au suivi des éléments de travail. Accorde également la possibilité d’exécuter des requêtes, de rechercher des éléments de travail, ainsi que de recevoir des notifications sur les événements des éléments de travail via des connecteurs de service. | vso.hooks_write |
|
vso.work_write |
Éléments de travail (lire et écrire) | Octroie la possibilité de lire, de créer et de mettre à jour des éléments de travail et des requêtes, de mettre à jour les métadonnées du tableau, de lire les chemins de zone et les chemins d'itération pour d'autres métadonnées associées au suivi des éléments de travail, d’exécuter des requêtes et de recevoir des notifications sur les événements d’élément de travail via des webhooks. | vso.work |
||
vso.work_full |
Éléments de travail (complet) | Octroie un accès complet aux éléments de travail, aux requêtes, aux backlogs, aux plans et aux métadonnées de suivi des éléments de travail. Fournit également la possibilité de recevoir des notifications sur les événements d'élément de travail via des crochets de service. | vso.work_write |
||
Emprunt d’identité utilisateur | user_impersonation |
Usurpation d’identité utilisateur | Oui | Disposez d’un accès complet aux API REST Visual Studio Team Services. Demandez et/ou donnez votre consentement à cette étendue avec précaution, car elle est très puissante ! |
Questions Fréquemment Posées (FAQ)
Q : Puis-je utiliser OAuth avec mon application de téléphone mobile ?
R : Non. Azure DevOps Services prend uniquement en charge le flux de serveur web. Il n’existe donc aucun moyen d’implémenter OAuth, car vous ne pouvez pas stocker en toute sécurité la clé secrète de l’application.
Q : Puis-je utiliser OAuth avec les points de terminaison SOAP et les API REST ?
R : Non. OAuth est pris en charge uniquement dans les API REST.