Delen via


OAuth 2.0-verificatie voor Azure DevOps REST API's

Azure DevOps Services

Meer informatie over het gebruik van OAuth 2.0 voor het verifiëren van uw toepassingen voor Azure DevOps REST API-toegang zonder dat gebruikers herhaaldelijk referenties hoeven op te geven.

Belangrijk

We raden u aan Microsoft Entra ID OAuth te gebruiken voor nieuwe toepassingen. Azure DevOps OAuth 2.0 is afgeschaft en accepteert vanaf april 2025 geen nieuwe registraties meer, met volledige afschaffing gepland voor 2026.

Hoe OAuth 2.0 werkt met Azure DevOps

Notitie

OAuth 2.0 is alleen beschikbaar voor Azure DevOps Services, niet voor Azure DevOps Server. Gebruik voor on-premises scenario's clientbibliotheken, Windows-verificatie of persoonlijke toegangstokens.

Azure DevOps Services maakt gebruik van het OAuth 2.0-protocol om toepassingen te autoriseren en toegangstokens te genereren voor REST API-aanroepen. Het proces omvat de volgende stappen:

  • App-registratie: Registreer uw toepassing bij de OAuth-provider.
  • Gebruikersautorisatie: ververleent toestemming voor uw app voor toegang tot gebruikersgegevens.
  • Tokenuitwisseling: ontvang een toegangstoken om API-aanroepen te maken.
  • API-toegang: gebruik het token voor geverifieerde REST API-aanvragen.
  • Token vernieuwen: verlopen tokens vernieuwen om de toegang te behouden.

Diagram met het OAuth 2.0-autorisatiestroomproces van app-registratie tot API-toegang.

OAuth-implementatieopties

Kies de juiste OAuth-implementatie op basis van de behoeften van uw toepassing.

Microsoft Entra ID OAuth biedt de veiligste en toekomstbestendige verificatiemethode voor Azure DevOps-toepassingen. Voordelen zijn onder andere:

  • Bedrijfsintegratie: naadloze integratie met bestaande Microsoft Entra ID-infrastructuur.
  • Verbeterde beveiliging: geavanceerde beveiligingsfuncties omvatten voorwaardelijke toegang van Microsoft Entra en meervoudige verificatie.
  • Toekomstige ondersteuning: actief onderhouden en ondersteund platform.
  • Geïntegreerde identiteit: Ervaring voor eenmalige aanmelding tussen Microsoft-services.

Aan de slag: volg onze OAuth-handleiding voor Microsoft Entra ID voor implementatiedetails en migratierichtlijnen.

Azure DevOps OAuth (afgeschaft)

Waarschuwing

Azure DevOps OAuth is afgeschaft. Nieuwe app-registraties worden vanaf april 2025 niet meer geaccepteerd. De service is gepland voor volledige afschaffing in 2026. Bestaande toepassingen migreren naar Microsoft Entra ID OAuth.

Voor bestaande Azure DevOps OAuth-toepassingen:

Migratieplanning: begin met het plannen van uw migratie naar Microsoft Entra ID OAuth vroeg. De migratiehandleiding bevat tips en overwegingen voor een soepele overgang.

OAuth-bereiken

Scopes bepalen tot welke Azure DevOps-resources uw toepassing toegang heeft. Zowel Microsoft Entra ID OAuth als Azure DevOps OAuth gebruiken dezelfde bereikdefinities.

Belangrijke overwegingen voor de reikwijdte

  • Principe van minste bevoegdheid: vraag alleen de minimale scopes aan die uw toepassing nodig heeft.
  • Overname van bereik: sommige bereiken omvatten andere bereiken (bijvoorbeeld vso.code_manage inclusief vso.code_write).
  • API-dekking: Bereiken maken toegang tot REST API's mogelijk en selecteren alleen Git-eindpunten (SOAP-API's worden niet ondersteund).
  • Gebruikerstoestemming: gebruikers moeten expliciet machtigingen verlenen voor elk aangevraagd bereik.

Vereiste bereiken zoeken

Om te bepalen welke bevoegdheden uw applicatie nodig heeft:

  • Raadpleeg de API-referentiedocumentatie voor elk eindpunt dat u wilt gebruiken.
  • Zoek de scopes header op elke API-pagina.
  • Overweeg de relaties tussen scopes om te voorkomen dat er dubbele machtigingen worden aangevraagd.

Beschikbare bereiken

Categorie Omvang Naam Hoge bevoegdheid Beschrijving Neemt over van
Geavanceerde beveiliging vso.advsec Geavanceerde beveiliging (lezen) Ja Verleent de mogelijkheid om waarschuwingen, resultatenexemplaren en instanties van analyseresultaten te lezen.
vso.advsec_write Geavanceerde beveiliging (lezen en schrijven) Ja Verleent de mogelijkheid om analyses te uploaden in serif. vso.advsec
vso.advsec_manage Geavanceerde beveiliging (lezen, schrijven en beheren) Ja Verleent de mogelijkheid om analyses te uploaden in serif. vso.advsec_write
Agentpools vso.agentpools Agentpools (lezen) Biedt de mogelijkheid om taken, pools, wachtrijen, agents en momenteel uitgevoerde of onlangs voltooide taken voor agents weer te geven.
vso.agentpools_manage Agentpools (lezen en beheren) Ja Biedt de mogelijkheid om pools, wachtrijen en agents te beheren. vso.agentpools
vso.environment_manage Omgeving (lezen en beheren) Ja Biedt de mogelijkheid om pools, wachtrijen, agents en omgevingen te beheren. vso.agentpools_manage
Gegevensanalyse vso.analytics Analyse-opties (bekijken) Verleent de mogelijkheid om query's uit te voeren op analysegegevens.
Auditing vso.auditlog Auditlogboek (lezen) Verleent de mogelijkheid om het controlelogboek te lezen voor gebruikers.
vso.auditstreams_manage Controlestromen (lezen) Ja Verleent de mogelijkheid om controlestromen voor gebruikers te beheren. vso.auditlog
Bouwen vso.build Bouwen (lezen) Verleent de mogelijkheid om toegang te krijgen tot buildartefacten, waaronder buildresultaten, definities en aanvragen, en de mogelijkheid om meldingen te ontvangen over build-gebeurtenissen via servicehook. vso.hooks_write
vso.build_execute Compileren (lezen en uitvoeren) Ja Verleent de mogelijkheid om toegang te krijgen tot buildartefacten, waaronder buildresultaten, definities en aanvragen. Biedt ook de mogelijkheid om een build in de wachtrij te plaatsen, build-eigenschappen bij te werken en meldingen te ontvangen over build-gebeurtenissen via servicehook. vso.build
Code vso.code Code (lezen) Biedt de mogelijkheid om broncode en metagegevens te lezen over commits, wijzigingensets, vertakkingen en andere artefacten voor versiebeheer. Biedt ook de mogelijkheid om code te zoeken en meldingen te ontvangen over versiebeheer-gebeurtenissen via servicehook. vso.hooks_write
vso.code_write Code (lezen en schrijven) Ja Biedt de mogelijkheid om broncode te lezen, bij te werken en te verwijderen en metagegevens te openen over doorvoeringen, wijzigingensets, vertakkingen en andere artefacten voor versiebeheer. Biedt ook de mogelijkheid om pull-aanvragen en codebeoordelingen te maken en te beheren en meldingen te ontvangen over versiebeheer-gebeurtenissen via servicehook. vso.code
vso.code_manage Code (lezen, schrijven en beheren) Ja Biedt de mogelijkheid om broncode te lezen, bij te werken en te verwijderen, en biedt toegang tot metadata over commits, wijzigingensets, vertakkingen en andere versiebeheerelementen. Biedt ook de mogelijkheid om codeopslagplaatsen te maken en te beheren, pull-aanvragen en codebeoordelingen te maken en te beheren en meldingen te ontvangen over versiebeheer-gebeurtenissen via servicehook. vso.code_write
vso.code_full Code (volledig) Ja Verleent volledige toegang tot broncode, metagegevens over doorvoeringen, wijzigingensets, vertakkingen en andere artefacten voor versiebeheer. Biedt ook de mogelijkheid om codeopslagplaatsen te maken en te beheren, pull-aanvragen en codebeoordelingen te maken en beheren en meldingen te ontvangen over versiebeheer-gebeurtenissen via servicehook. Bevat ook beperkte ondersteuning voor CLIENT OM-API's. vso.code_manage
vso.code_status Code (status/stand) Verleent de mogelijkheid om doorvoer- en pull-aanvraagstatus te lezen en schrijven.
Verbonden server vso.connected_server Verbonden server Biedt de mogelijkheid om toegang te krijgen tot eindpunten die nodig zijn vanaf een on-premises verbonden server.
Rechten vso.entitlements Rechten (lezen) Verleent alleen-lezentoegang tot eindpunten voor licentierechten om accountrechten op te halen.
vso.memberentitlementmanagement Rechtenbeheer voor leden (lezen) Verleent de mogelijkheid om gebruikers, hun licenties en de projecten en extensies te lezen die ze kunnen openen.
vso.memberentitlementmanagement_write Rechtenbeheer voor leden (schrijven) Ja Verleent de mogelijkheid om gebruikers en hun licenties en de projecten en extensies te beheren die ze kunnen openen. vso.memberentitlementmanagement
Extensions vso.extension Extensies (lezen) Verleent de mogelijkheid om geïnstalleerde extensies te lezen. vso.profile
vso.extension_manage Extensies (lezen en beheren) Ja Verleent de mogelijkheid om andere beheeracties te installeren, te verwijderen en uit te voeren op geïnstalleerde extensies. vso.extension
vso.extension.data Extensiegegevens (lezen) Biedt de mogelijkheid om gegevens (instellingen en documenten) te lezen die zijn opgeslagen door geïnstalleerde extensies. vso.profile
vso.extension.data_write Extensiegegevens (lezen en schrijven) Biedt de mogelijkheid om gegevens (instellingen en documenten) te lezen en schrijven die zijn opgeslagen door geïnstalleerde extensies. vso.extension.data
GitHub-verbindingen vso.githubconnections GitHub-verbindingen (lezen) Biedt de mogelijkheid om GitHub-verbindingen en GitHub-opslagplaatsgegevens te lezen.
vso.githubconnections_manage GitHub-verbindingen (lezen en beheren) Ja Biedt de mogelijkheid om GitHub-verbindingen en GitHub-opslagplaatsgegevens te lezen en te beheren. vso.githubconnections
Grafiek en identiteit vso.graph Grafiek: lezen Verleent de mogelijkheid om informatie over gebruikers-, groep-, bereik- en groepslidmaatschap te lezen.
vso.graph_manage Grafiekbeheer Ja Verleent de mogelijkheid om informatie over gebruikers-, groep-, bereik- en groepslidmaatschappen te lezen, gebruikers en groepen toe te voegen en groepslidmaatschappen te beheren. vso.graph
vso.identity Identiteit (lezen) Verleent de mogelijkheid om identiteiten en groepen te lezen.
vso.identity_manage Identiteit (beheer) Ja Biedt de mogelijkheid om identiteiten en groepen te lezen, schrijven en beheren. vso.identity
Machinegroep vso.machinegroup_manage Implementatiegroep (lezen, beheren) Ja Verleent de mogelijkheid om implementatiegroep- en agentgroepen te beheren. vso.agentpools_manage
Marktplaats vso.gallery Marktplaats Verleent leestoegang tot openbare en persoonlijke items en uitgevers. vso.profile
vso.gallery_acquire Marketplace (Aanschaffen) Verleent leestoegang en de mogelijkheid om items te verkrijgen. vso.gallery
vso.gallery_publish Marketplace (publiceren) Ja Verleent leestoegang en de mogelijkheid om items te uploaden, bij te werken en te delen. vso.gallery
vso.gallery_manage Marketplace (beheren) Ja Verleent leestoegang en de mogelijkheid om items en uitgevers te publiceren en te beheren. vso.gallery_publish
Notifications vso.notification Meldingen (gelezen) Verleent leestoegang tot abonnementen en gebeurtenismetagegevens, inclusief filterbare veldwaarden. vso.profile
vso.notification_write Meldingen (schrijven) Verleent lees- en schrijftoegang tot abonnementen en leestoegang tot metagegevens van gebeurtenissen, waaronder filterbare veldwaarden. vso.notification
vso.notification_manage Meldingen beheren Verleent lees-, schrijf- en beheertoegang tot abonnementen en leestoegang tot metagegevens van gebeurtenissen, waaronder filterbare veldwaarden. vso.notification_write
vso.notification_diagnostics Meldingen (diagnostische gegevens) Verleent toegang tot diagnostische logboeken met betrekking tot meldingen en verleent de mogelijkheid om diagnostische gegevens in te schakelen voor afzonderlijke abonnementen. vso.notification
Verpakking vso.packaging Verpakking (gelezen informatie) Verleent de mogelijkheid om feeds en pakketten te lezen. vso.profile
vso.packaging_write Verpakking (lezen en schrijven) Ja Biedt de mogelijkheid om feeds en pakketten te maken en te lezen. vso.packaging
vso.packaging_manage Verpakking (lezen, schrijven en beheren) Ja Biedt de mogelijkheid om feeds en pakketten te maken, lezen, bij te werken en te verwijderen. vso.packaging_write
Pijplijnbronnen vso.pipelineresources_use Pijplijnbronnen (gebruik) Ja Verleent de mogelijkheid om de aanvraag van een pijplijn goed te keuren voor het gebruik van een beveiligde resource: agentgroep, omgeving, wachtrij, opslagplaats, beveiligde bestanden, serviceverbinding en variabele groep.
vso.pipelineresources_manage Pijplijnbronnen (gebruiken en beheren) Ja Verleent de mogelijkheid om een beveiligde resource of een pijplijnaanvraag te beheren voor het gebruik van een beveiligde resource: agentgroep, omgeving, wachtrij, opslagplaats, beveiligde bestanden, serviceverbinding en variabele groep. vso.pipelineresources_use
Project en team vso.project Project en team (weergegeven) Verleent de mogelijkheid om projecten en teams te lezen.
vso.project_write Het project en het team (lezen en schrijven) Biedt de mogelijkheid om projecten en teams te lezen en te updaten. vso.project
vso.project_manage Project en team (lezen, schrijven en beheren) Ja Biedt de mogelijkheid om projecten en teams te maken, lezen, bijwerken en verwijderen. vso.project_write
Vrijgeven vso.release Release (lezen) Verleent de mogelijkheid om releaseartefacten te lezen, waaronder releases, releasedefinities en releaseomgeving. vso.profile
vso.release_execute Release (lezen, schrijven en uitvoeren) Ja Biedt de mogelijkheid om release-artefacten te lezen en bij te werken, waaronder releases, releasedefinities en releaseomgeving. Biedt ook de mogelijkheid om een nieuwe release in de wachtrij te plaatsen. vso.release
vso.release_manage Release (lezen, schrijven, uitvoeren en beheren) Ja Biedt de mogelijkheid om releaseartefacten te lezen, bij te werken en te verwijderen, waaronder releases, releasedefinities en releaseomgeving. Biedt ook de mogelijkheid om een nieuwe release in de wachtrij te plaatsen en goed te keuren. vso.release_execute
Bestanden beveiligen vso.securefiles_read Bestanden beveiligen (lezen) Ja Biedt de mogelijkheid om beveiligde bestanden te lezen.
vso.securefiles_write Bestanden beveiligen (lezen en maken) Ja Biedt de mogelijkheid om beveiligde bestanden te lezen en te maken. vso.securefiles_read
vso.securefiles_manage Bestanden beveiligen (lezen, maken en beheren) Ja Biedt de mogelijkheid om beveiligde bestanden te lezen, te maken en te beheren. vso.securefiles_write
Security vso.security_manage Beveiliging (beheren) Ja Verleent de mogelijkheid om beveiligingsmachtigingen te lezen, schrijven en beheren.
Serviceverbindingen vso.serviceendpoint Service-eindpunten (lezen) Verleent de mogelijkheid om service-eindpunten te lezen. vso.profile
vso.serviceendpoint_query Service-eindpunten (lezen en query's) Biedt de mogelijkheid om service-eindpunten te lezen en op te vragen. vso.serviceendpoint
vso.serviceendpoint_manage Service-eindpunten (lezen, query's uitvoeren en beheren) Ja Biedt de mogelijkheid om service-eindpunten te lezen, op te vragen en te beheren. vso.serviceendpoint_query
Service-invoerpunten vso.hooks Servicehook (gelezen) Verleent de mogelijkheid om abonnementen en metagegevens van servicehook te lezen, waaronder ondersteunde gebeurtenissen, consumenten en acties. (Niet meer openbaar.) vso.profile
vso.hooks_write Servicehooks (lezen en schrijven) Biedt de mogelijkheid om abonnementen voor servicehook te maken en bij te werken en metagegevens te lezen, waaronder ondersteunde gebeurtenissen, consumenten en acties. (Niet meer openbaar.) vso.hooks
vso.hooks_interact Servicehooks (interacties) Verleent de mogelijkheid om te interageren en acties uit te voeren op gebeurtenissen die zijn ontvangen via servicehooks. (Niet meer openbaar.) vso.profile
Instellingen vso.settings Instellingen (lezen) Verleent de mogelijkheid om instellingen te lezen.
vso.settings_write Instellingen (lezen en schrijven) Verleent de mogelijkheid om instellingen te lezen en te schrijven. vso.settings
Symbols vso.symbols Symbolen (lezen) Verleent de mogelijkheid om symbolen te lezen. vso.profile
vso.symbols_write Symbolen (lezen en schrijven) Verleent de mogelijkheid om symbolen te lezen en schrijven. vso.symbols
vso.symbols_manage Symbolen (lezen, schrijven en beheren) Verleent de mogelijkheid om symbolen te lezen, schrijven en beheren. vso.symbols_write
Taakgroepen vso.taskgroups_read Taakgroepen (lezen) Verleent de mogelijkheid om taakgroepen te lezen.
vso.taskgroups_write Taakgroepen (lezen en maken) Verleent de mogelijkheid om taakgroepen te lezen en te maken. vso.taskgroups_read
vso.taskgroups_manage Taakgroepen (lezen, maken en beheren) Ja Biedt de mogelijkheid om taakgroepen te lezen, te maken en te beheren. vso.taskgroups_write
Teamdashboard vso.dashboards Team Dashboards (lezen) Biedt de mogelijkheid om teamdashboardgegevens te lezen.
vso.dashboards_manage Teamdashboards beheren Verleent de mogelijkheid om teamdashboardgegevens te beheren. vso.dashboards
Testbeheer vso.test Testbeheer (lezen) Verleent de mogelijkheid om testplannen, cases, resultaten en andere artefacten met betrekking tot testbeheer te lezen. vso.profile
vso.test_write Testbeheer (lezen en schrijven) Verleent de mogelijkheid om testplannen, cases, resultaten en andere artefacten met betrekking tot testbeheer te lezen, te maken en bij te werken. vso.test
Threads vso.threads_full PR-draadjes Verleent de mogelijkheid om threads met opmerkingen voor pull-requests te lezen en schrijven.
Tokens vso.tokens Gedelegeerde autorisatietokens Ja Verleent de mogelijkheid om gedelegeerde autorisatietokens te beheren aan gebruikers.
vso.tokenadministration Tokenbeheer Ja Verleent de mogelijkheid om bestaande tokens te beheren (weergeven en intrekken) aan organisatiebeheerders.
Gebruikersprofiel vso.profile Gebruikersprofiel (lezen) Biedt de mogelijkheid om uw profiel, accounts, verzamelingen, projecten, teams en andere organisatieartefacten op het hoogste niveau te lezen.
vso.profile_write Gebruikersprofiel (schrijven) Verleent de mogelijkheid om naar uw profiel te schrijven. vso.profile
Variabelegroepen vso.variablegroups_read Variabelegroepen (lezen) Hiermee wordt de mogelijkheid gegeven om variabelengroepen te lezen.
vso.variablegroups_write Variabelegroepen (lezen en maken) Verleent de mogelijkheid om variabele groepen te lezen en te maken. vso.variablegroups_read
vso.variablegroups_manage Variabelegroepen (lezen, maken en beheren) Ja Biedt de mogelijkheid om variabelengroepen te lezen, te maken en te beheren. vso.variablegroups_write
Wiki vso.wiki Wiki (lezen) Biedt de mogelijkheid om wiki's, wikipagina's en wikibijlagen te lezen. Biedt ook de mogelijkheid om wikipagina's te zoeken.
vso.wiki_write Wiki (lezen en schrijven) Biedt de mogelijkheid om wiki's, wikipagina's en wikibijlagen te lezen, te maken en bij te werken. vso.wiki
Werkonderdelen vso.work Werkitems (gelezen) Biedt de mogelijkheid om werkitems, query's, borden, gebieds- en iteratiepaden en andere metagegevens voor het bijhouden van werkitems te lezen. Biedt ook de mogelijkheid om query's uit te voeren, werkitems te zoeken en meldingen te ontvangen over gebeurtenissen van werkitems via servicehook. vso.hooks_write
vso.work_write Werkitems (lezen en schrijven) Biedt de mogelijkheid om werkitems en -query's te lezen, te maken en bij te werken, metagegevens van het bord bij te werken, paden en iteratiepaden en andere metagegevens voor werkitems bij te houden, query's uit te voeren en meldingen te ontvangen over werkitems via servicehook. vso.work
vso.work_full Werkitems (volledig) Verleent volledige toegang tot werkitems, query's, achterstanden, plannen en metagegevens voor het bijhouden van werkitems. Biedt ook de mogelijkheid om meldingen te ontvangen over werkitem-gebeurtenissen via servicehook. vso.work_write
Gebruikersimitatie user_impersonation Gebruikersimitatie Ja Verleent volledige toegang tot REST API's van Visual Studio Team Services. Vraag of toestemming voor dit bereik met voorzichtigheid omdat het zeer krachtig is.

Veelgestelde vragen

Q. Kan ik OAuth gebruiken met mobiele toepassingen?

Eén. Nee. Azure DevOps Services ondersteunt alleen de webserverstroom (autorisatiecodestroom), waarvoor een app-geheim veilig moet worden opgeslagen. Mobiele toepassingen kunnen geen geheimen veilig opslaan, waardoor OAuth niet geschikt is voor mobiele scenario's.

Alternatief voor mobiele apps: persoonlijke toegangstokens gebruiken voor verificatie van mobiele toepassingen.

Q. Werkt OAuth met alle Azure DevOps-API's?

Eén. OAuth ondersteunt REST API's en selecteer alleen Git-eindpunten. SOAP-API's bieden geen ondersteuning voor OAuth-verificatie.

Q. Hoe migreer ik van Azure DevOps OAuth naar Microsoft Entra ID OAuth?

Eén. Volg de migratiehandleiding voor Microsoft Entra ID OAuth, waaronder:

  • Stapsgewijze instructies voor migratie.
  • Codevoorbeelden en aanbevolen procedures.
  • Tijdlijnoverwegingen voor de afschaffing.

Q. Wat gebeurt er met mijn bestaande Azure DevOps OAuth-app na 2026?

Eén. Bestaande Azure DevOps OAuth-apps werken niet meer wanneer de service in 2026 volledig is afgeschaft. Plan uw migratie naar Microsoft Entra ID OAuth ruim vóór deze deadline.

Kies uw implementatiepad