Share via


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 dit is verlopen.

Proces voor het ophalen van autorisatie.

Beschikbare OAuth-modellen

Belangrijk

Gebruik Microsoft Entra ID OAuth bij het maken van een nieuwe OAuth 2.0-app. Azure DevOps OAuth 2.0 wordt in 2026 afgeschaft. Vanaf februari 2025 accepteren we geen nieuwe Azure DevOps OAuth-apps meer. Meer informatie vindt u in ons blogbericht.

Microsoft Entra ID OAuth

Bouwen op een nieuw platform kan overweldigend zijn. In deze handleiding voor het bouwen van een Microsoft Entra-app voor Azure DevOps verzamelen we nuttige koppelingen die nuttig kunnen zijn om het ontwikkelingsproces voor OAuth-apps in Microsoft Entra te starten. Voor mensen die migreren van Azure DevOps OAuth naar Microsoft Entra OAuth, bieden we nuttige tips om rekening mee te houden tijdens uw migratie.

Azure DevOps OAuth

Zie de handleiding voor de Azure DevOps OAuth-app voor bestaande apps. U kunt ook beheren welke Azure DevOps-apps zijn gemachtigd voor toegang tot uw resources.

Bereiken

Ontwikkelaars zullen naar verwachting opgeven welke bereiken ze van hun gebruikers nodig hebben. Dezelfde 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, vso.code_manage bijvoorbeeld.vso.code_write Veel bereiken nemen bijvoorbeeld over van vso.profile. Bedenk wat het minimale aantal bereiken is dat u nodig hebt bij het aanvragen van toestemming voor het bereik van gebruikers.

Notitie

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

Categorie Bereik Name Beschrijving Neemt over van
Geavanceerde beveiliging vso.advsec AdvancedSecurity (lezen) Verleent de mogelijkheid om waarschuwingen, resultaatexemplaren, analyseresultatenexemplaren te lezen.
vso.advsec_write AdvancedSecurity (lezen en schrijven) Verleent de mogelijkheid om analyses in sarif te uploaden vso.advsec
vso.advsec_manage AdvancedSecurity (lezen, schrijven en beheren) Verleent de mogelijkheid om analyses in sarif te uploaden 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, beheren) Biedt de mogelijkheid om pools, wachtrijen en agents te beheren. vso.agentpools
vso.environment_manage Omgeving (lezen, beheren) Biedt de mogelijkheid om pools, wachtrijen, agents en omgevingen te beheren. vso.agentpools_manage
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. 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 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. vso.build
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.hooks_write
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
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_write
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_manage
vso.code_status Code (status) 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) 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. vso.memberentitlementmanagement
Extensies vso.extension Extensies (lezen) Verleent de mogelijkheid om geïnstalleerde extensies te lezen. vso.profile
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
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 Connections (lezen) Biedt de mogelijkheid om GitHub-verbindingen en GitHub-opslagplaatsgegevens te lezen.
vso.githubconnections_manage GitHub Connections (lezen en beheren) 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 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.graph
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. vso.identity
Machinegroep vso.machinegroup_manage Implementatiegroep (lezen, beheren) Biedt de mogelijkheid om implementatiegroep- en agentgroepen te beheren. vso.agentpools_manage
Marketplace vso.gallery Marketplace Verleent leestoegang tot openbare en persoonlijke items en uitgevers. vso.profile
vso.gallery_acquire Marketplace (verkrijgen) Verleent leestoegang en de mogelijkheid om items te verkrijgen. vso.gallery
vso.gallery_publish Marketplace (publiceren) Verleent leestoegang en de mogelijkheid om items te uploaden, bij te werken en te delen. vso.gallery
vso.gallery_manage Marketplace (beheren) Verleent leestoegang en de mogelijkheid om items en uitgevers te publiceren en te beheren. vso.gallery_publish
Meldingen vso.notification Meldingen (gelezen) Biedt leestoegang tot abonnementen en gebeurtenismetagegevens, inclusief filterbare veldwaarden. vso.profile
vso.notification_write Meldingen (schrijven) Biedt lees- en schrijftoegang tot abonnementen en leestoegang tot metagegevens van gebeurtenissen, inclusief filterbare veldwaarden. vso.notification
vso.notification_manage Meldingen (beheren) Biedt lees-, schrijf- en beheertoegang tot abonnementen en leestoegang tot metagegevens van gebeurtenissen, inclusief filterbare veldwaarden. vso.notification_write
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. vso.notification
Verpakking vso.packaging Verpakking (gelezen) Verleent de mogelijkheid om feeds en pakketten te lezen. vso.profile
vso.packaging_write Verpakking (lezen en schrijven) Biedt de mogelijkheid om feeds en pakketten te maken en te lezen. vso.packaging
vso.packaging_manage Verpakking (lezen, schrijven en beheren) 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) 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. vso.pipelineresources_manage
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
vso.project_manage Project en team (lezen, schrijven en beheren) Biedt de mogelijkheid om projecten en teams te maken, lezen, bijwerken en verwijderen. vso.project_write
Release vso.release Release (lezen) Verleent de mogelijkheid om release-artefacten te lezen, waaronder releases, releasedefinities en releaseomgeving. vso.profile
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
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. vso.release_manage
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_read
vso.securefiles_manage Beveiligde bestanden (lezen, maken en beheren) Biedt de mogelijkheid om beveiligde bestanden te lezen, te maken en te beheren. vso.securefiles_write
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.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) Biedt de mogelijkheid om service-eindpunten te lezen, op te vragen en te beheren. vso.serviceendpoint_query
Servicehook 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 Servicehook (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 Servicehook (interactie) Verleent de mogelijkheid om te communiceren en acties uit te voeren op gebeurtenissen die zijn ontvangen via servicehook. (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 maken en te lezen.
Symbolen 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, maken) Verleent de mogelijkheid om taakgroepen te lezen en te maken. vso.taskgroups_read
vso.taskgroups_manage Taakgroepen (lezen, maken en beheren) Verleent de mogelijkheid om taskgroups te lezen, te maken en te beheren. vso.taskgroups_write
Teamdashboard vso.dashboards Teamdashboards (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 testbeheergerelateerde artefacten te lezen. vso.profile
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. vso.test
Draden 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 Tokenbeheer 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 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_read
vso.variablegroups_manage Variabelegroepen (lezen, maken en beheren) 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
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.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, 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
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. vso.work_write
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!

Veelgestelde vragen

Veelgestelde vragen (FAQ's)

V: Kan ik OAuth gebruiken met mijn mobiele telefoon-app?

A: Nee. Azure DevOps Services ondersteunt alleen de webserverstroom, dus er is geen manier om OAuth te implementeren, omdat u het app-geheim niet veilig kunt opslaan.

V: Kan ik OAuth gebruiken met de SOAP-eindpunten en REST API's?

A: Nee. OAuth wordt alleen ondersteund in de REST API's.