Dela via


OAuth 2.0-autentisering för Azure DevOps REST-API:er

Azure DevOps-tjänster

Lär dig hur du använder OAuth 2.0 för att autentisera dina program för Azure DevOps REST API-åtkomst utan att kräva att användarna upprepade gånger anger autentiseringsuppgifter.

Viktigt!

Vi rekommenderar att du använder Microsoft Entra ID OAuth för nya program. Azure DevOps OAuth 2.0 är inaktuell och accepterar inte längre nya registreringar från och med april 2025, med fullständig utfasning planerad till 2026.

Så här fungerar OAuth 2.0 med Azure DevOps

Anteckning

OAuth 2.0 är endast tillgängligt för Azure DevOps Services, inte Azure DevOps Server. För lokala scenarier använder du klientbibliotek, Windows-autentisering eller personliga åtkomsttoken.

Azure DevOps Services använder OAuth 2.0-protokollet för att auktorisera program och generera åtkomsttoken för REST API-anrop. Processen omfattar följande steg:

  • Appregistrering: Registrera ditt program hos OAuth-providern.
  • Användarauktorisering: Bevilja behörighet för din app att komma åt användardata.
  • Tokenutbyte: Ta emot en åtkomsttoken för att göra API-anrop.
  • API-åtkomst: Använd token för autentiserade REST API-begäranden.
  • Tokenuppdatering: Uppdatera token som har upphört att gälla för att upprätthålla åtkomsten.

Diagram som visar processen för OAuth 2.0-auktoriseringsflöde från appregistrering till API-åtkomst.

Implementeringsalternativ för OAuth

Välj lämplig OAuth-implementering baserat på programmets behov.

Microsoft Entra ID OAuth tillhandahåller den säkraste och mest framtidssäkra autentiseringsmetoden för Azure DevOps-program. Här är några fördelar:

  • Företagsintegrering: Sömlös integrering med befintlig Microsoft Entra ID-infrastruktur.
  • Förbättrad säkerhet: Avancerade säkerhetsfunktioner omfattar villkorsstyrd åtkomst i Microsoft Entra och multifaktorautentisering.
  • Framtida stöd: Aktivt underhållen och stödd plattform.
  • Enhetlig identitet: Enkel inloggning i Microsoft-tjänster.

Kom igång: Följ vår OAuth-guide för Microsoft Entra-ID för implementeringsinformation och migreringsvägledning.

Azure DevOps OAuth (inaktuell)

Varning

Azure DevOps OAuth är inaktuellt. Nya appregistreringar godkänns inte längre från och med april 2025. Tjänsten är schemalagd för fullständig utfasning 2026. Migrera befintliga program till Microsoft Entra ID OAuth.

För befintliga Azure DevOps OAuth-program:

Migreringsplanering: Börja planera migreringen till Microsoft Entra ID OAuth tidigt. Migreringsguiden innehåller tips och överväganden för en smidig övergång.

OAuth-omfång

Omfång definierar vilka Azure DevOps-resurser som ditt program kan komma åt. Både Microsoft Entra ID OAuth och Azure DevOps OAuth använder samma omfångsdefinitioner.

Viktiga omfångsöverväganden

  • Principen om minsta behörighet: Begär endast de minsta behörighetsomfång som applikationen behöver.
  • Omfångsarv: Vissa omfång inkluderar andra (till exempel vso.code_manage inkluderar vso.code_write).
  • API-täckning: Omfång ger åtkomst till REST-API:er och väljer endast Git-slutpunkter (SOAP-API:er stöds inte).
  • Användarmedgivande: Användare måste uttryckligen bevilja behörighet för varje begärt omfång.

Hitta nödvändiga omfång

För att avgöra vilka omfång din applikation behöver:

  • Kontrollera API-referensdokumentationen för varje slutpunkt som du planerar att använda.
  • scopes Leta efter rubriken på varje API-sida.
  • Överväg omfångsrelationer för att undvika att begära redundanta behörigheter.

Tillgängliga omfång

Kategori Omfattning Namn Hög behörighet beskrivning Ärver från
Avancerad säkerhet vso.advsec Avancerad säkerhet (läs) Ja Ger möjlighet att läsa aviseringar, resultatinstanser och analysresultatinstanser.
vso.advsec_write Avancerad säkerhet (läsa och skriva) Ja Ger möjlighet att ladda upp analyser i serif. vso.advsec
vso.advsec_manage Avancerad säkerhet (läsa, skriva och hantera) Ja Ger möjlighet att ladda upp analyser i serif. 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 och hantera) Ja Ger möjlighet att hantera pooler, köer och agenter. vso.agentpools
vso.environment_manage Miljö (läsa och hantera) Ja Ger möjlighet att hantera pooler, köer, agenter och miljöer. vso.agentpools_manage
Analytics vso.analytics Analysverktyg (läs) Möjliggör att ställa frågor på analysuppgifter.
Auditing vso.auditlog Granskningslogg (läs) Ger användarna möjlighet att läsa granskningsloggen.
vso.auditstreams_manage Granska strömmar (läs) Ja Ger möjlighet att hantera granskningsströmmar till användare. vso.auditlog
Skapa vso.build Bygg (läsa) 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 Kompilera (läs och kör) Ja Ger möjlighet att komma åt byggartefakter, inklusive byggresultat, definitioner och begäranden. Ger också möjlighet att köa en bygge, uppdatera byggegenskaper och ta emot meddelanden om bygghändelser via tjänstkrokar. vso.build
Kod vso.code Kod (läs) Ger möjlighet att läsa källkod och metadata om kommandon, ändringsset, 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) Ja Ger möjlighet att läsa, uppdatera och ta bort källkod och komma åt metadata om incheckningar, ändringsuppsättningar, grenar och andra artefakter för versionskontroll. Ger också möjlighet att skapa och hantera pull-begäranden och kodgranskningar och ta emot meddelanden om versionskontrollhändelser via tjänstkrokar. vso.code
vso.code_manage Kod (läsa, skriva och hantera) Ja 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) Ja Ger fullständig åtkomst till källkod, metadata om kommitteringar, ändringsuppsättningar, grenar och andra artefakter för versionshantering. Ger också möjlighet att skapa och hantera kodlagringsplatser, skapa och hantera pull-begäranden och kodgranskningar samt 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 slutpunkter för att hämta kontorättigheter.
vso.memberentitlementmanagement Hantering av medlemsrättigheter (läs) Ger möjlighet att läsa användare, deras licenser och de projekt och tillägg som de kan komma åt.
vso.memberentitlementmanagement_write Hantering av medlemsrättigheter (skrivning) Ja Ger möjlighet att hantera användare och deras licenser samt de projekt och tillägg som de kan komma åt. vso.memberentitlementmanagement
Extensions vso.extension Tillägg (läs) Ger möjlighet att läsa installerade tillägg. vso.profile
vso.extension_manage Tillägg (Läs och hantera) Ja 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äsa) 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 redigera) 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) Ja Ger möjlighet att läsa och hantera GitHub-anslutningar och GitHub-lagringsplatser. vso.githubconnections
Diagram och identitet vso.graph Diagram (läs av) Ger möjlighet att läsa information om användar-, grupp-, omfångs- och gruppmedlemskap.
vso.graph_manage Diagram (hantering) Ja Ger möjlighet att läsa information om användare, grupper, omfång och gruppmedlemskap, lägga till användare och grupper och hantera gruppmedlemskap. vso.graph
vso.identity Identity (läsa) Ger möjlighet att läsa identiteter och grupper.
vso.identity_manage Hantera identitet Ja Ger möjlighet att läsa, skriva och hantera identiteter och grupper. vso.identity
Datorgrupp vso.machinegroup_manage Implementeringsgrupp (läsa, hantera) Ja Ger möjlighet att hantera distributionsgrupp- och agentpooler. vso.agentpools_manage
Marknad vso.gallery Marknad Ger läsåtkomst till offentliga och privata objekt samt publicerare. vso.profile
vso.gallery_acquire Marketplace (förvärva) Ger läsåtkomst och möjlighet att hämta objekt. vso.gallery
vso.gallery_publish Marknadsplats (publicera) Ja Ger läsåtkomst och möjlighet att ladda upp, uppdatera och dela objekt. vso.gallery
vso.gallery_manage Marknadsplats (hantera) Ja Ger läsåtkomst och möjlighet att publicera och hantera objekt och utgivare. vso.gallery_publish
Notifications 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
Emballage vso.packaging Förpackning (läs mer) Ger behörighet att läsa flöden och paket. vso.profile
vso.packaging_write Förpackning (läs och skriv) Ja Ger möjlighet att skapa och läsa flöden och paket. vso.packaging
vso.packaging_manage Paketering (läsa, skriva och hantera) Ja Ger möjligheten att skapa, läsa, uppdatera och ta bort flöden och paket. vso.packaging_write
Pipelineresurser vso.pipelineresources_use Pipelineresurser (användning) Ja 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) Ja 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_use
Projekt och team vso.project Projekt och team (läs) Ger tillgång till att läsa projekten och teamen.
vso.project_write Projekt och team (läs och skriv) Ger möjlighet att läsa och uppdatera projekt och team. vso.project
vso.project_manage Projekt och team (läsa, skriva och hantera) Ja Ger möjlighet att skapa, läsa, uppdatera och ta bort projekt och team. vso.project_write
Lansering vso.release Släpp (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) Ja Ger möjlighet att läsa och uppdatera versionsartefakter, inklusive versioner, versionsdefinitioner och versionsmiljö. Ger också möjlighet att köa en ny version. vso.release
vso.release_manage Version (läsa, skriva, köra och hantera) Ja Ger möjlighet att läsa, uppdatera och ta bort versionsartefakter, inklusive versioner, versionsdefinitioner och versionsmiljö. Ger också möjlighet att köa och godkänna en ny version. vso.release_execute
Säkra filer vso.securefiles_read Säkra filer (läs) Ja Ger möjlighet att läsa säkra filer.
vso.securefiles_write Skydda filer (läsa och skapa) Ja 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) Ja Ger möjlighet att läsa, skapa och hantera säkra filer. vso.securefiles_write
Security vso.security_manage Säkerhet (hantera) Ja 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 söka information från slutpunkter för tjänster. vso.serviceendpoint
vso.serviceendpoint_manage Tjänstslutpunkter (läsa, fråga och hantera) Ja Ger möjlighet att läsa, fråga och hantera tjänstslutpunkter. vso.serviceendpoint_query
Servicekopplingar vso.hooks Servicehakar (läs mer) Ger möjlighet att läsa tjänstehook-prenumerationer och metadata, inklusive stödda händelser, konsumenter och åtgärder. (Inte längre offentligt.) vso.profile
vso.hooks_write Tjänstewebhooks (läs och skriv) Ger behörighet att skapa och uppdatera servicehook-prenumerationer och läsa metadata, inklusive händelser, konsumenter och åtgärder som stöds. (Inte längre offentligt.) vso.hooks
vso.hooks_interact Service hooks (interagera) Ger möjlighet att utföra åtgärder och interagera med händelser som tas emot via service hooks. (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 läsa och skriva inställningar. vso.settings
Symbols vso.symbols Symboler (läsning) 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 arbetsgrupper.
vso.taskgroups_write Aktivitetsgrupper (läsa och skapa) Ger möjlighet att läsa och skapa aktivitetsgrupper. vso.taskgroups_read
vso.taskgroups_manage Aktivitetsgrupper (läsa, skapa och hantera) Ja Ger möjlighet att läsa, skapa och hantera aktivitetsgrupper. vso.taskgroups_write
Instrumentpanel för team vso.dashboards Teampaneler (läsåtkomst) Ger åtkomst för att läsa information på teamets översiktstavla.
vso.dashboards_manage Teamgränssnitt (hantering) Tillåter hantering av teamets instrumentpanelsinformation. vso.dashboards
Testhantering vso.test Testhantering (läs mer) 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
Threads vso.threads_full PR-trådar Ger rätt att läsa och skriva kommentarer i pull request-trådar.
Tokener vso.tokens Delegerade auktoriseringstoken Ja Ger möjlighet att hantera delegerade auktoriseringstoken till användare.
vso.tokenadministration Tokenadministration Ja 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 (skriva) Ger möjlighet att skriva till din profil. vso.profile
Variabelgrupper vso.variablegroups_read Variabelgrupper (läs) Ger möjligheten att läsa variabelgrupper.
vso.variablegroups_write Variabelgrupper (läsa och skapa) Ger möjlighet att läsa och skapa variabelgrupper. vso.variablegroups_read
vso.variablegroups_manage Variabelgrupper (läsa, skapa och hantera) Ja Ger möjlighet att läsa, skapa och hantera variabelgrupper. vso.variablegroups_write
Wiki-sida 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 (read) 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 också möjlighet att köra frågor, söka efter arbetsobjekt och ta emot meddelanden om händelser för arbetsobjekt via tjänstkrokar. vso.hooks_write
vso.work_write Arbetsobjekt (läs och skriv) Ger möjlighet att läsa, skapa och uppdatera arbetsobjekt och frågor, uppdatera brädmetadata, sökvägar för läsområde och iterationer samt andra spårningsrelaterade metadata för arbetsobjekt, köra frågor och ta emot meddelanden om händelser för arbetsobjekt via tjänstkrokar. vso.work
vso.work_full Arbetsuppgifter (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 Ja Ger fullständig åtkomst till REST-API:er för Visual Studio Team Services. Begär eller godkänn det här omfånget med försiktighet eftersom det är mycket kraftfullt.

Vanliga frågor

Q. Kan jag använda OAuth med mobila program?

A. Nej. Azure DevOps Services stöder endast webbserverflödet (auktoriseringskodflöde), vilket kräver säker lagring av en apphemlighet. Mobilprogram kan inte lagra hemligheter på ett säkert sätt, vilket gör OAuth olämpligt för mobila scenarier.

Alternativ för mobilappar: Använd personliga åtkomsttoken för autentisering med mobilprogram.

Q. Fungerar OAuth med alla Azure DevOps-API:er?

A. OAuth stöder REST-API:er och väljer endast Git-slutpunkter. SOAP-API:er stöder inte OAuth-autentisering.

Q. Hur migrerar jag från Azure DevOps OAuth till Microsoft Entra ID OAuth?

A. Följ migreringsguiden för Microsoft Entra ID OAuth, som innehåller:

  • Stegvisa migreringsinstruktioner.
  • Kodexempel och metodtips.
  • Tidslinjeöverväganden för utfasningen.

Q. Vad händer med min befintliga Azure DevOps OAuth-app efter 2026?

A. Befintliga Azure DevOps OAuth-appar slutar fungera när tjänsten är helt inaktuell 2026. Planera migreringen till Microsoft Entra ID OAuth i god tid före den här tidsgränsen.

Välj din implementeringsväg