Toegang tot REST API's autoriseren met OAuth 2.0

Azure DevOps Services

Meer informatie over het verifiëren van uw web-app-gebruikers voor REST API-toegang, zodat uw app niet blijft vragen om gebruikersnamen en wachtwoorden.

Notitie

  • De volgende richtlijnen zijn bedoeld voor Gebruikers van Azure DevOps Services, omdat OAuth 2.0 niet wordt ondersteund op Azure DevOps Server. Clientbibliotheken zijn een reeks pakketten die speciaal zijn gebouwd voor het uitbreiden van de Functionaliteit van Azure DevOps Server. Voor on-premises gebruikers wordt u aangeraden clientbibliotheken, Windows-verificatie of persoonlijke toegangstokens (PAT's) te gebruiken om namens een gebruiker te verifiëren.
  • Zie het C# OAuth GitHub-voorbeeld voor meer informatie.

Over OAuth 2.0

Azure DevOps Services maakt gebruik van het OAuth 2.0-protocol om uw app te autoriseren voor een gebruiker en een toegangstoken te genereren. Gebruik dit token wanneer u de REST API's aanroept vanuit uw toepassing. Als u Azure DevOps Services-API's aanroept voor die gebruiker, gebruikt u het toegangstoken van die gebruiker. Toegangstokens verlopen, dus vernieuw het toegangstoken als het is verlopen.

Process to get authorization.

Beschikbare OAuth-modellen

Wanneer u een OAuth 2.0-app maakt, gebruikt u Microsoft Entra ID OAuth. We ondersteunen nog steeds Azure DevOps OAuth 2.0, maar we investeren momenteel niet in dit model.

Microsoft Entra ID OAuth

Wanneer u een Microsoft Entra ID OAuth-app maakt, wordt uw app Microsoft Entra-tokens uitgegeven, niet Azure DevOps-toegangstokens. Deze tokens hebben een standaardduur van één uur vóór de vervaldatum.

Raadpleeg voor meer informatie de volgende artikelen:

Notitie

Wanneer u apps maakt die gebruikmaken van andere API's, moet u ervoor zorgen dat u de bereiken selecteert die nodig zijn voor deze API's.

Azure DevOps OAuth

Gebruik de Azure DevOps OAuth-handleiding voor bestaande apps. U kunt ook beheren welke Azure DevOps-apps zijn geautoriseerd.

Bereiken

Ontwikkelaars zullen naar verwachting opgeven welke bereiken ze van hun gebruikers nodig hebben. Bereiken zijn beschikbaar voor beide OAuth-modellen. De volgende bereiken zijn alleen beschikbaar via gedelegeerde stromen (namens de gebruiker). Als u wilt weten welke bereiken u nodig hebt voor uw app, kijkt u onder de scopes koptekst op de API-referentiepagina voor elke API die u gebruikt.

Sommige bereiken kunnen inclusief andere bereiken zijn, code_manage bijvoorbeeld.code_write Bedenk wat het minimale aantal bereiken is dat u nodig hebt bij het aanvragen van toestemming voor het bereik van gebruikers.

Belangrijk

Bereiken maken alleen toegang tot REST API's mogelijk en selecteren Git-eindpunten. SOAP API-toegang wordt niet ondersteund.

Categorie Bereik Name Beschrijving
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, beheren) Biedt de mogelijkheid om pools, wachtrijen en agents te beheren.
vso.environment_manage Omgeving (lezen, beheren) Biedt de mogelijkheid om pools, wachtrijen, agents en omgevingen te beheren.
Analyse vso.analytics Analyse (lezen) Verleent de mogelijkheid om query's uit te voeren op analysegegevens.
Controle vso.auditlog Auditlogboek (lezen) Verleent de mogelijkheid om het controlelogboek te lezen voor gebruikers.
vso.auditstreams_manage Streams controleren (lezen) Verleent de mogelijkheid om controlestromen voor gebruikers te beheren.
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.build_execute Bouwen (lezen en uitvoeren) Biedt de mogelijkheid om toegang te krijgen tot buildartefacten, waaronder buildresultaten, definities en aanvragen, en de mogelijkheid om een build-, update-build-eigenschappen en de mogelijkheid om meldingen te ontvangen over build-gebeurtenissen via servicehook.
Code vso.code Code (lezen) Biedt de mogelijkheid om broncode en metagegevens te lezen over doorvoeringen, 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.code_write Code (lezen en schrijven) Biedt de mogelijkheid om broncode te lezen, bij te werken en te verwijderen, 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_manage Code (lezen, schrijven en beheren) Biedt de mogelijkheid om broncode te lezen, bij te werken en te verwijderen, metagegevens te openen 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 te beheren en meldingen te ontvangen over versiebeheer-gebeurtenissen via servicehook.
vso.code_full Code (volledig) 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 te beheren en meldingen te ontvangen over versiebeheer-gebeurtenissen via servicehook. Bevat ook beperkte ondersteuning voor CLIENT OM-API's.
vso.code_status Code (status) Verleent de mogelijkheid om doorvoer- en pull-aanvraagstatus te lezen en schrijven.
Verbinding maken ed Server vso.connected_server Verbinding maken ed Server Biedt de mogelijkheid om toegang te krijgen tot eindpunten die nodig zijn vanaf een on-premises verbonden server.
Rechten vso.entitlements Rechten (lezen) Biedt alleen-lezentoegang tot eindpunt voor licentierechten om accountrechten op te halen.
vso.memberentitlementmanagement MemberEntitlement Management (lezen) Verleent de mogelijkheid om gebruikers, hun licenties en projecten en extensies te lezen die ze kunnen openen.
vso.memberentitlementmanagement_write MemberEntitlement Management (schrijven) Verleent de mogelijkheid om gebruikers, hun licenties en projecten en extensies te beheren die ze kunnen openen.
Extensies vso.extension Extensies (lezen) Verleent de mogelijkheid om geïnstalleerde extensies te lezen.
vso.extension_manage Extensies (lezen en beheren) Verleent de mogelijkheid om andere beheeracties te installeren, te verwijderen en uit te voeren op geïnstalleerde extensies.
vso.extension.data Extensiegegevens (lezen) Biedt de mogelijkheid om gegevens (instellingen en documenten) te lezen die zijn opgeslagen door geïnstalleerde extensies.
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.
Grafiek en identiteit vso.graph Grafiek (lezen) Verleent de mogelijkheid om informatie over gebruikers-, groep-, bereik- en groepslidmaatschap te lezen.
vso.graph_manage Grafiek (beheren) Biedt de mogelijkheid om gebruikers-, groep-, bereik- en groepslidmaatschapsgegevens te lezen en gebruikers, groepen en groepslidmaatschappen toe te voegen en groepslidmaatschappen te beheren.
vso.identity Identiteit (lezen) Verleent de mogelijkheid om identiteiten en groepen te lezen.
vso.identity_manage Identiteit (beheren) Biedt de mogelijkheid om identiteiten en groepen te lezen, schrijven en beheren.
Machinegroep vso.machinegroup_manage Implementatiegroep (lezen, beheren) Biedt de mogelijkheid om implementatiegroep- en agentgroepen te beheren.
Marketplace vso.gallery Marketplace Verleent leestoegang tot openbare en persoonlijke items en uitgevers.
vso.gallery_acquire Marketplace (verkrijgen) Verleent leestoegang en de mogelijkheid om items te verkrijgen.
vso.gallery_publish Marketplace (publiceren) Verleent leestoegang en de mogelijkheid om items te uploaden, bij te werken en te delen.
vso.gallery_manage Marketplace (beheren) Verleent leestoegang en de mogelijkheid om items en uitgevers te publiceren en te beheren.
Meldingen vso.notification Meldingen (gelezen) Biedt leestoegang tot abonnementen en gebeurtenismetagegevens, inclusief filterbare veldwaarden.
vso.notification_write Meldingen (schrijven) Biedt lees- en schrijftoegang tot abonnementen en leestoegang tot metagegevens van gebeurtenissen, inclusief filterbare veldwaarden.
vso.notification_manage Meldingen (beheren) Biedt lees-, schrijf- en beheertoegang tot abonnementen en leestoegang tot metagegevens van gebeurtenissen, inclusief filterbare veldwaarden.
vso.notification_diagnostics Meldingen (diagnostische gegevens) Biedt toegang tot diagnostische logboeken met betrekking tot meldingen en biedt de mogelijkheid om diagnostische gegevens in te schakelen voor afzonderlijke abonnementen.
Verpakking vso.packaging Verpakking (gelezen) Verleent de mogelijkheid om feeds en pakketten te lezen.
vso.packaging_write Verpakking (lezen en schrijven) Biedt de mogelijkheid om feeds en pakketten te maken en te lezen.
vso.packaging_manage Verpakking (lezen, schrijven en beheren) Biedt de mogelijkheid om feeds en pakketten te maken, lezen, bij te werken en te verwijderen.
Pijplijnbronnen vso.pipelineresources_use Pijplijnbronnen (gebruik) 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) 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.
Project en team vso.project Project en team (gelezen) Verleent de mogelijkheid om projecten en teams te lezen.
vso.project_write Project en team (lezen en schrijven) Biedt de mogelijkheid om projecten en teams te lezen en bij te werken.
vso.project_manage Project en team (lezen, schrijven en beheren) Biedt de mogelijkheid om projecten en teams te maken, lezen, bijwerken en verwijderen.
Release vso.release Release (lezen) Verleent de mogelijkheid om release-artefacten te lezen, waaronder releases, releasedefinities en releaseomgeving.
vso.release_execute Release (lezen, schrijven en uitvoeren) Biedt de mogelijkheid om releaseartefacten te lezen en bij te werken, waaronder releases, releasedefinities en releaseomgeving, en de mogelijkheid om een nieuwe release in de wachtrij te plaatsen.
vso.release_manage Release (lezen, schrijven, uitvoeren en beheren) Verleent de mogelijkheid om releaseartefacten te lezen, bij te werken en te verwijderen, waaronder releases, releasedefinities en releaseomgeving, en de mogelijkheid om een nieuwe release in de wachtrij te plaatsen en goed te keuren.
Beveiligde bestanden vso.securefiles_read Beveiligde bestanden (lezen) Biedt de mogelijkheid om beveiligde bestanden te lezen.
vso.securefiles_write Beveiligde bestanden (lezen, maken) Biedt de mogelijkheid om beveiligde bestanden te lezen en te maken.
vso.securefiles_manage Beveiligde bestanden (lezen, maken en beheren) Biedt de mogelijkheid om beveiligde bestanden te lezen, te maken en te beheren.
Beveiliging vso.security_manage Beveiliging (beheren) 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.serviceendpoint_query Service-eindpunten (lezen en query's) Biedt de mogelijkheid om service-eindpunten te lezen en op te vragen.
vso.serviceendpoint_manage Service-eindpunten (lezen, query's uitvoeren en beheren) Biedt de mogelijkheid om service-eindpunten te lezen, op te vragen en te beheren.
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 maken en te lezen.
Symbolen vso.symbols Symbolen (lezen) Verleent de mogelijkheid om symbolen te lezen.
vso.symbols_write Symbolen (lezen en schrijven) Verleent de mogelijkheid om symbolen te lezen en schrijven.
vso.symbols_manage Symbolen (lezen, schrijven en beheren) Verleent de mogelijkheid om symbolen te lezen, schrijven en beheren.
Taakgroepen vso.taskgroups_read Taakgroepen (lezen) Verleent de mogelijkheid om taakgroepen te lezen.
vso.taskgroups_write Taakgroepen (lezen, maken) Verleent de mogelijkheid om taakgroepen te lezen en te maken.
vso.taskgroups_manage Taakgroepen (lezen, maken en beheren) Verleent de mogelijkheid om taskgroups te lezen, te maken en te beheren.
Teamdashboard vso.dashboards Teamdashboards (lezen) Biedt de mogelijkheid om teamdashboardgegevens te lezen.
vso.dashboards_manage Teamdashboards (beheren) Verleent de mogelijkheid om teamdashboardgegevens te beheren.
Testbeheer vso.test Testbeheer (lezen) Verleent de mogelijkheid om testplannen, cases, resultaten en andere testbeheergerelateerde artefacten te lezen.
vso.test_write Testbeheer (lezen en schrijven) Verleent de mogelijkheid om testplannen, cases, resultaten en andere testbeheergerelateerde artefacten te lezen, te maken en bij te werken.
Threads vso.threads_full PR-threads Verleent de mogelijkheid om threads met opmerkingen voor pull-aanvragen te lezen en schrijven.
Tokens vso.tokens Gedelegeerde autorisatietokens Verleent de mogelijkheid om gedelegeerde autorisatietokens te beheren aan gebruikers.
vso.tokenadministration Token Beheer istratie 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.
Variabelegroepen vso.variablegroups_read Variabelegroepen (lezen) Hiermee verleent u de mogelijkheid om variabelegroepen te lezen.
vso.variablegroups_write Variabelegroepen (lezen, maken) Verleent de mogelijkheid om variabele groepen te lezen en te maken.
vso.variablegroups_manage Variabelegroepen (lezen, maken en beheren) Biedt de mogelijkheid om variabelengroepen te lezen, te maken en te beheren.
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.
Werkitems vso.work Werkitems (gelezen) Biedt de mogelijkheid om werkitems, query's, borden, gebieds- en iteratiepaden en andere metagegevens voor 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.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, gebieds- en iteratiepaden te volgen, andere metagegevens voor werkitems bij te houden, query's uit te voeren en meldingen te ontvangen over werkitems via servicehook.
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 gebeurtenissen van werkitems via servicehook.
Gebruikersimitatie user_impersonation Gebruikersimitatie Volledige toegang tot REST API's van Visual Studio Team Services. Vraag en/of toestemming voor dit bereik met voorzichtigheid omdat het zeer krachtig is!