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 för att få auktorisering.

Tillgängliga OAuth-modeller

Viktigt!

När du skapar en ny OAuth 2.0-app använder du Microsoft Entra ID OAuth. Azure DevOps OAuth 2.0 är planerat för utfasning 2026. Från och med februari 2025 kommer vi att sluta acceptera nya Azure DevOps OAuth-appar. Läs mer i vårt blogginlägg.

Microsoft Entra ID OAuth

Att bygga på en ny plattform kan vara överväldigande. I den här guiden för att skapa en Microsoft Entra-app för Azure DevOps samlar vi in användbara länkar som kan vara användbara för att starta OAuth-apputvecklingsprocessen på Microsoft Entra. För personer som migrerar från Azure DevOps OAuth till Microsoft Entra OAuth ger vi användbara tips att tänka på under migreringen.

Azure DevOps OAuth

För befintliga appar kan du läsa appguiden för Azure DevOps OAuth. Du kan också hantera vilka Azure DevOps-appar som har behörighet att komma åt dina resurser.

Omfattningar

Utvecklare förväntas ange vilka omfång de behöver från sina användare. Samma 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, vso.code_manage till exempel .vso.code_write Till exempel ärver många omfång från vso.profile. 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.

Kommentar

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

Kategori Omfattning Name beskrivning Ärver från
Avancerad säkerhet vso.advsec AdvancedSecurity (läs) Ger möjlighet att läsa aviseringar, resultatinstanser, analysresultatinstanser.
vso.advsec_write AdvancedSecurity (läsa och skriva) Ger möjlighet att ladda upp analyser i sarif vso.advsec
vso.advsec_manage AdvancedSecurity (läsa, skriva och hantera) Ger möjlighet att ladda upp analyser i sarif vso.advsec_write
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.agentpools
vso.environment_manage Miljö (läsa, hantera) Ger möjlighet att hantera pooler, köer, agenter och miljöer. vso.agentpools_manage
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 strömmar (läs) Ger möjlighet att hantera granskningsströmmar till användare. vso.auditlog
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.hooks_write
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. vso.build
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.hooks_write
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
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_write
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_manage
vso.code_status Kod (status) Ger möjlighet att läsa och skriva inchecknings- och pull-begärandestatus.
Ansluten server vso.connected_server Ansluten server Ger möjlighet att komma åt 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. vso.memberentitlementmanagement
Tillägg vso.extension Tillägg (läs) Ger möjlighet att läsa installerade tillägg. vso.profile
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
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.profile
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. vso.extension.data
Github-anslutningar vso.githubconnections GitHub-anslutningar (läs) Ger möjlighet att läsa GitHub-anslutningar och GitHub-lagringsplatser.
vso.githubconnections_manage GitHub-anslutningar (läsa och hantera) Ger möjlighet att läsa och hantera GitHub-anslutningar och GitHub-lagringsplatser vso.githubconnections
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.graph
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. vso.identity
Datorgrupp vso.machinegroup_manage Distributionsgrupp (läsa, hantera) Ger möjlighet att hantera distributionsgrupp- och agentpooler. vso.agentpools_manage
Marketplace vso.gallery Marketplace Ger läsbehörighet till offentliga och privata objekt och utgivare. vso.profile
vso.gallery_acquire Marketplace (hämta) Ger läsåtkomst och möjlighet att hämta objekt. vso.gallery
vso.gallery_publish Marketplace (publicera) Ger läsåtkomst och möjlighet att ladda upp, uppdatera och dela objekt. vso.gallery
vso.gallery_manage Marketplace (hantera) Ger läsåtkomst och möjlighet att publicera och hantera objekt och utgivare. vso.gallery_publish
Aviseringar vso.notification Meddelanden (läs) Ger läsåtkomst till prenumerationer och händelsemetadata, inklusive filterbara fältvärden. vso.profile
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
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_write
vso.notification_diagnostics Meddelanden (diagnostik) Ger åtkomst till meddelanderelaterade diagnostikloggar och ger möjlighet att aktivera diagnostik för enskilda prenumerationer. vso.notification
Paketering vso.packaging Paketering (läs) Ger möjlighet att läsa feeds och paket. vso.profile
vso.packaging_write Paketering (läsa och skriva) Ger möjlighet att skapa och läsa feeds och paket. vso.packaging
vso.packaging_manage Paketering (läsa, skriva och hantera) Ger möjlighet att skapa, läsa, uppdatera och ta bort feeds och paket. vso.packaging_write
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. vso.pipelineresources_manage
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
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. vso.project_write
Släppa vso.release Release (läs) Ger möjlighet att läsa versionsartefakter, inklusive versioner, versionsdefinitioner och versionsmiljö. vso.profile
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
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. vso.release_manage
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_read
vso.securefiles_manage Säkra filer (läsa, skapa och hantera) Ger möjlighet att läsa, skapa och hantera säkra filer. vso.securefiles_write
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.profile
vso.serviceendpoint_query Tjänstslutpunkter (läsning och fråga) Ger möjlighet att läsa och fråga tjänstslutpunkter. vso.serviceendpoint
vso.serviceendpoint_manage Tjänstslutpunkter (läsa, fråga och hantera) Ger möjlighet att läsa, fråga och hantera tjänstslutpunkter. vso.serviceendpoint_query
Tjänstkrokar vso.hooks Tjänstkrokar (läs) Ger möjlighet att läsa prenumerationer och metadata för tjänstkrokar, inklusive händelser som stöds, konsumenter och åtgärder. (Inte längre offentligt.) vso.profile
vso.hooks_write Tjänstkrokar (läsa och skriva) Ger möjlighet att skapa och uppdatera prenumerationer på tjänstkrokar och läsa metadata, inklusive händelser, konsumenter och åtgärder som stöds. (Inte längre offentligt.) vso.hooks
vso.hooks_interact Tjänstkrokar (interagera) Ger möjlighet att interagera och utföra åtgärder på händelser som tas emot via tjänstkrokar. (Inte längre offentligt.) vso.profile
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.profile
vso.symbols_write Symboler (läsa och skriva) Ger möjlighet att läsa och skriva symboler. vso.symbols
vso.symbols_manage Symboler (läsa, skriva och hantera) Ger möjlighet att läsa, skriva och hantera symboler. vso.symbols_write
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_read
vso.taskgroups_manage Aktivitetsgrupper (läsa, skapa och hantera) Ger möjlighet att läsa, skapa och hantera aktivitetsgrupper. vso.taskgroups_write
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. vso.dashboards
Testhantering vso.test Testhantering (läs) Ger möjlighet att läsa testplaner, fall, resultat och andra testhanteringsrelaterade artefakter. vso.profile
vso.test_write Testhantering (läsa och skriva) Ger möjlighet att läsa, skapa och uppdatera testplaner, fall, resultat och andra testhanteringsrelaterade artefakter. vso.test
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. vso.profile
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_read
vso.variablegroups_manage Variabelgrupper (läsa, skapa och hantera) Ger möjlighet att läsa, skapa och hantera variabelgrupper. vso.variablegroups_write
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. vso.wiki
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.hooks_write
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
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. vso.work_write
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!

Vanliga frågor

Vanliga frågor (FAQ)

F: Kan jag använda OAuth med min mobilapp?

S: Nej. Azure DevOps Services stöder endast webbserverflödet, så det finns inget sätt att implementera OAuth eftersom du inte kan lagra apphemligheten på ett säkert sätt.

F: Kan jag använda OAuth med SOAP-slutpunkter och REST-API:er?

S: Nej. OAuth stöds endast i REST-API:erna.