Auktorisera åtkomst till REST-API:er med OAuth 2.0

Azure DevOps Services

Lär dig hur du autentiserar dina webbappsanvändare för REST API-åtkomst, så att appen inte fortsätter att be om användarnamn och lösenord.

Kommentar

  • Följande vägledning är avsedd för Azure DevOps Services-användare eftersom OAuth 2.0 inte stöds på Azure DevOps Server. Klientbibliotek är en serie paket som skapats specifikt för att utöka Azure DevOps Server-funktioner. För lokala användare rekommenderar vi att du använder klientbibliotek, Windows Auth eller personliga åtkomsttoken (PAT) för att autentisera åt en användare.
  • Mer information finns i GitHub-exemplet C# OAuth.

Om OAuth 2.0

Azure DevOps Services använder OAuth 2.0-protokollet för att auktorisera din app för en användare och generera en åtkomsttoken. Använd den här token när du anropar REST-API:erna från ditt program. När du anropar Azure DevOps Services-API:er för den användaren använder du användarens åtkomsttoken. Åtkomsttoken upphör att gälla, så uppdatera åtkomsttoken om den har upphört att gälla.

Process to get authorization.

Tillgängliga OAuth-modeller

När du skapar en OAuth 2.0-app använder du Microsoft Entra ID OAuth. Vi stöder fortfarande Azure DevOps OAuth 2.0, men vi investerar inte i den här modellen just nu.

Microsoft Entra ID OAuth

När du skapar en Microsoft Entra ID OAuth-app utfärdas din app Microsoft Entra-token, inte Åtkomsttoken för Azure DevOps. Dessa token har en standardvaraktighet på en timme innan de upphör att gälla.

Mer information finns i följande artiklar:

Kommentar

När du skapar appar som använder andra API:er måste du välja de omfång som behövs för dessa API:er.

Azure DevOps OAuth

För befintliga appar använder du Azure DevOps OAuth-guiden. Du kan också hantera vilka Azure DevOps-appar som är auktoriserade.

Omfattningar

Utvecklare förväntas ange vilka omfång de behöver från sina användare. Omfång är tillgängliga för båda OAuth-modellerna. Följande omfång är endast tillgängliga via delegerade (å användarens vägnar). Om du vill ta reda på vilka omfång du behöver för din app tittar du under scopes rubriken på SIDAN API-referens för varje API som du använder.

Vissa omfång kan omfatta andra omfång, code_manage till exempel .code_write Tänk på vad som är det minsta antalet omfång som du behöver när du begär omfångsmedgivande från användare.

Viktigt!

Omfång aktiverar endast åtkomst till REST-API:er och väljer Git-slutpunkter. SOAP API-åtkomst stöds inte.

Kategori Omfattning Name beskrivning
Agentpooler vso.agentpools Agentpooler (läs) Ger möjlighet att visa uppgifter, pooler, köer, agenter och för närvarande aktiva eller nyligen slutförda jobb för agenter.
vso.agentpools_manage Agentpooler (läsa, hantera) Ger möjlighet att hantera pooler, köer och agenter.
vso.environment_manage Miljö (läsa, hantera) Ger möjlighet att hantera pooler, köer, agenter och miljöer.
Analys vso.analytics Analys (läs) Ger möjlighet att köra frågor mot analysdata.
Granskning vso.auditlog Granskningslogg (läs) Ger användarna möjlighet att läsa granskningsloggen.
vso.auditstreams_manage Granska Flöden (läs) Ger möjlighet att hantera granskningsströmmar till användare.
Bygge vso.build Skapa (läs) Ger möjlighet att komma åt byggartefakter, inklusive byggresultat, definitioner och begäranden, samt möjlighet att ta emot meddelanden om bygghändelser via tjänstkrokar.
vso.build_execute Skapa (läsa och köra) Ger möjlighet att komma åt byggartefakter, inklusive byggresultat, definitioner och begäranden, samt möjlighet att köa bygge, uppdatera byggegenskaper och möjlighet att ta emot meddelanden om bygghändelser via tjänstkrokar.
Code vso.code Kod (läs) Ger möjlighet att läsa källkod och metadata om incheckningar, ändringsuppsättningar, grenar och andra artefakter för versionskontroll. Ger också möjlighet att söka efter kod och få meddelanden om versionskontrollhändelser via tjänstkrokar.
vso.code_write Kod (läsa och skriva) Ger möjlighet att läsa, uppdatera och ta bort källkod, komma åt metadata om incheckningar, ändringsuppsättningar, grenar och andra artefakter för versionskontroll. Ger även möjlighet att skapa och hantera pull-begäranden och kodgranskningar och att ta emot meddelanden om versionskontrollhändelser via tjänstkrokar.
vso.code_manage Kod (läsa, skriva och hantera) Ger möjlighet att läsa, uppdatera och ta bort källkod, komma åt metadata om incheckningar, ändringsuppsättningar, grenar och andra artefakter för versionskontroll. Ger också möjlighet att skapa och hantera kodlagringsplatser, skapa och hantera pull-begäranden och kodgranskningar samt att ta emot meddelanden om versionskontrollhändelser via tjänstkrokar.
vso.code_full Kod (fullständig) Ger fullständig åtkomst till källkod, metadata om incheckningar, ändringsuppsättningar, grenar och andra artefakter för versionskontroll. Ger också möjlighet att skapa och hantera kodlagringsplatser, skapa och hantera pull-begäranden och kodgranskningar samt att ta emot meddelanden om versionskontrollhändelser via tjänstkrokar. Innehåller även begränsat stöd för API:er för klient-OM.
vso.code_status Kod (status) Ger möjlighet att läsa och skriva inchecknings- och pull-begärandestatus.
Anslut server vso.connected_server Anslut server Ger möjlighet att komma åt de slutpunkter som behövs från en lokal ansluten server.
Berättiganden vso.entitlements Berättiganden (läs) Ger skrivskyddad åtkomst till licensrättigheternas slutpunkt för att hämta kontorättigheter.
vso.memberentitlementmanagement MemberEntitlement Management (läs) Ger möjlighet att läsa användare, deras licenser samt projekt och tillägg som de kan komma åt.
vso.memberentitlementmanagement_write MemberEntitlement Management (skrivning) Ger möjlighet att hantera användare, deras licenser samt projekt och tillägg som de kan komma åt.
Tillägg vso.extension Tillägg (läs) Ger möjlighet att läsa installerade tillägg.
vso.extension_manage Tillägg (läsa och hantera) Ger möjlighet att installera, avinstallera och utföra andra administrativa åtgärder på installerade tillägg.
vso.extension.data Tilläggsdata (läs) Ger möjlighet att läsa data (inställningar och dokument) som lagras av installerade tillägg.
vso.extension.data_write Tilläggsdata (läsa och skriva) Ger möjlighet att läsa och skriva data (inställningar och dokument) som lagras av installerade tillägg.
Diagram och identitet vso.graph Diagram (läs) Ger möjlighet att läsa information om användar-, grupp-, omfångs- och gruppmedlemskap.
vso.graph_manage Diagram (hantera) Ger möjlighet att läsa information om användare, grupper, omfång och gruppmedlemskap samt lägga till användare, grupper och hantera gruppmedlemskap.
vso.identity Identitet (läs) Ger möjlighet att läsa identiteter och grupper.
vso.identity_manage Identitet (hantera) Ger möjlighet att läsa, skriva och hantera identiteter och grupper.
Datorgrupp vso.machinegroup_manage Distributionsgrupp (läsa, hantera) Ger möjlighet att hantera distributionsgrupp- och agentpooler.
Marketplace vso.gallery Marketplace Ger läsbehörighet till offentliga och privata objekt och utgivare.
vso.gallery_acquire Marketplace (hämta) Ger läsåtkomst och möjlighet att hämta objekt.
vso.gallery_publish Marketplace (publicera) Ger läsåtkomst och möjlighet att ladda upp, uppdatera och dela objekt.
vso.gallery_manage Marketplace (hantera) Ger läsåtkomst och möjlighet att publicera och hantera objekt och utgivare.
Aviseringar vso.notification Meddelanden (läs) Ger läsåtkomst till prenumerationer och händelsemetadata, inklusive filterbara fältvärden.
vso.notification_write Meddelanden (skriv) Ger läs- och skrivåtkomst till prenumerationer och läsåtkomst till händelsemetadata, inklusive filterbara fältvärden.
vso.notification_manage Meddelanden (hantera) Ger läs-, skriv- och hanteringsåtkomst till prenumerationer och läsåtkomst till händelsemetadata, inklusive filterbara fältvärden.
vso.notification_diagnostics Meddelanden (diagnostik) Ger åtkomst till meddelanderelaterade diagnostikloggar och ger möjlighet att aktivera diagnostik för enskilda prenumerationer.
Paketering vso.packaging Paketering (läs) Ger möjlighet att läsa feeds och paket.
vso.packaging_write Paketering (läsa och skriva) Ger möjlighet att skapa och läsa feeds och paket.
vso.packaging_manage Paketering (läsa, skriva och hantera) Ger möjlighet att skapa, läsa, uppdatera och ta bort feeds och paket.
Pipelineresurser vso.pipelineresources_use Pipelineresurser (användning) Ger möjlighet att godkänna en pipelines begäran om att använda en skyddad resurs: agentpool, miljö, kö, lagringsplats, säkra filer, tjänstanslutning och variabelgrupp.
vso.pipelineresources_manage Pipelineresurser (använd och hantera) Ger möjlighet att hantera en skyddad resurs eller en pipelines begäran om att använda en skyddad resurs: agentpool, miljö, kö, lagringsplats, säkra filer, tjänstanslutning och variabelgrupp.
Projekt och team vso.project Projekt och team (läs) Ger möjlighet att läsa projekt och team.
vso.project_write Projekt och team (läsa och skriva) Ger möjlighet att läsa och uppdatera projekt och team.
vso.project_manage Projekt och team (läsa, skriva och hantera) Ger möjlighet att skapa, läsa, uppdatera och ta bort projekt och team.
Släppa vso.release Release (läs) Ger möjlighet att läsa versionsartefakter, inklusive versioner, versionsdefinitioner och versionsmiljö.
vso.release_execute Release (läsa, skriva och köra) Ger möjlighet att läsa och uppdatera versionsartefakter, inklusive versioner, versionsdefinitioner och versionsmiljö, samt möjlighet att köa en ny version.
vso.release_manage Version (läsa, skriva, köra och hantera) Ger möjlighet att läsa, uppdatera och ta bort versionsartefakter, inklusive versioner, versionsdefinitioner och versionsmiljö, samt möjlighet att köa och godkänna en ny version.
Säkra filer vso.securefiles_read Säkra filer (läs) Ger möjlighet att läsa säkra filer.
vso.securefiles_write Säkra filer (läsa, skapa) Ger möjlighet att läsa och skapa säkra filer.
vso.securefiles_manage Säkra filer (läsa, skapa och hantera) Ger möjlighet att läsa, skapa och hantera säkra filer.
Säkerhet vso.security_manage Säkerhet (hantera) Ger möjlighet att läsa, skriva och hantera säkerhetsbehörigheter.
Tjänstanslutningar vso.serviceendpoint Tjänstslutpunkter (läs) Ger möjlighet att läsa tjänstslutpunkter.
vso.serviceendpoint_query Tjänstslutpunkter (läsning och fråga) Ger möjlighet att läsa och fråga tjänstslutpunkter.
vso.serviceendpoint_manage Tjänstslutpunkter (läsa, fråga och hantera) Ger möjlighet att läsa, fråga och hantera tjänstslutpunkter.
Inställningar vso.settings Inställningar (läs) Ger möjlighet att läsa inställningar.
vso.settings_write Inställningar (läsa och skriva) Ger möjlighet att skapa och läsa inställningar.
Symboler vso.symbols Symboler (läs) Ger möjlighet att läsa symboler.
vso.symbols_write Symboler (läsa och skriva) Ger möjlighet att läsa och skriva symboler.
vso.symbols_manage Symboler (läsa, skriva och hantera) Ger möjlighet att läsa, skriva och hantera symboler.
Aktivitetsgrupper vso.taskgroups_read Aktivitetsgrupper (läs) Ger möjlighet att läsa aktivitetsgrupper.
vso.taskgroups_write Aktivitetsgrupper (läsa, skapa) Ger möjlighet att läsa och skapa aktivitetsgrupper.
vso.taskgroups_manage Aktivitetsgrupper (läsa, skapa och hantera) Ger möjlighet att läsa, skapa och hantera aktivitetsgrupper.
Instrumentpanel för team vso.dashboards Teaminstrumentpaneler (läs) Ger möjlighet att läsa information om teamets instrumentpanel.
vso.dashboards_manage Teaminstrumentpaneler (hantera) Ger möjlighet att hantera information om teaminstrumentpaneler.
Testhantering vso.test Testhantering (läs) Ger möjlighet att läsa testplaner, fall, resultat och andra testhanteringsrelaterade artefakter.
vso.test_write Testhantering (läsa och skriva) Ger möjlighet att läsa, skapa och uppdatera testplaner, fall, resultat och andra testhanteringsrelaterade artefakter.
Trådar vso.threads_full PR-trådar Ger möjlighet att läsa och skriva till kommentarstrådar för pull-begäranden.
Token vso.tokens Delegerade auktoriseringstoken Ger möjlighet att hantera delegerade auktoriseringstoken till användare.
vso.tokenadministration Tokenadministration Ger möjlighet att hantera (visa och återkalla) befintliga token till organisationsadministratörer.
Användarprofil vso.profile Användarprofil (läs) Ger möjlighet att läsa din profil, dina konton, samlingar, projekt, team och andra organisationsartefakter på toppnivå.
vso.profile_write Användarprofil (skrivning) Ger möjlighet att skriva till din profil.
Variabelgrupper vso.variablegroups_read Variabelgrupper (läs) Ger möjlighet att läsa variabelgrupper.
vso.variablegroups_write Variabelgrupper (läsa, skapa) Ger möjlighet att läsa och skapa variabelgrupper.
vso.variablegroups_manage Variabelgrupper (läsa, skapa och hantera) Ger möjlighet att läsa, skapa och hantera variabelgrupper.
Wiki vso.wiki Wiki (läs) Ger möjlighet att läsa wikis, wiki-sidor och wiki-bifogade filer. Ger också möjlighet att söka på wiki-sidor.
vso.wiki_write Wiki (läsa och skriva) Ger möjlighet att läsa, skapa och uppdatera wikis, wiki-sidor och wikibilagor.
Arbetsobjekt vso.work Arbetsobjekt (läs) Ger möjlighet att läsa arbetsobjekt, frågor, tavlor, områdes- och iterationssökvägar och andra spårningsrelaterade metadata för arbetsobjekt. Ger även möjlighet att köra frågor, söka efter arbetsobjekt och ta emot meddelanden om arbetsobjekthändelser via tjänstkrokar.
vso.work_write Arbetsobjekt (läsa och skriva) Ger möjlighet att läsa, skapa och uppdatera arbetsobjekt och frågor, uppdatera brädmetadata, läsa område och iterationssökvägar andra arbetsobjekt som spårar relaterade metadata, köra frågor och ta emot meddelanden om händelser för arbetsobjekt via tjänstkrokar.
vso.work_full Arbetsobjekt (fullständiga) Ger fullständig åtkomst till arbetsobjekt, frågor, kvarvarande uppgifter, planer och spårningsmetadata för arbetsobjekt. Ger också möjlighet att ta emot meddelanden om arbetsobjekthändelser via tjänstkrokar.
Personifiering av användare user_impersonation Personifiering av användare Ha fullständig åtkomst till REST-API:er för Visual Studio Team Services. Begär och/eller godkänn det här omfånget med försiktighet eftersom det är mycket kraftfullt!