Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
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.
Implementeringsalternativ för OAuth
Välj lämplig OAuth-implementering baserat på programmets behov.
Microsoft Entra ID OAuth (rekommenderas)
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:
- Granska Azure DevOps OAuth-guiden för aktuell implementeringsinformation.
- Planera migrering till Microsoft Entra ID OAuth före 2026.
- Hantera befintliga appauktoriseringar efter behov.
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_manageinkluderarvso.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.
-
scopesLeta 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
- För nya program:Skapa med Microsoft Entra ID OAuth
- För befintliga Azure DevOps OAuth-appar:Planera migreringen till Microsoft Entra-ID
- För befintliga appar som behöver omedelbar support:Dokumentation om Azure DevOps OAuth