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.
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.