Authentifizieren des Zugriffs auf REST-APIs mit OAuth 2.0

Azure DevOps Services

Hier erfahren Sie, wie Sie Ihre Web App-Benutzer für den REST-API-Zugriff authentifizieren, damit Ihre App weiterhin nach Benutzernamen und Kennwörtern fragt.

Hinweis

  • Der folgende Leitfaden richtet sich an Azure DevOps Services-Benutzer, da OAuth 2.0 auf Azure DevOps Server nicht unterstützt wird. Clientbibliotheken sind eine Reihe von Paketen, die speziell für die Erweiterung Azure DevOps Server Funktionalität entwickelt wurden. Für lokale Benutzer empfehlen wir die Verwendung von Clientbibliotheken, Windows Auth oder persönlichen Zugriffstoken (PATs), um sich im Namen eines Benutzers zu authentifizieren.
  • Weitere Informationen finden Sie im C#-OAuth-GitHub-Beispiel.

Informationen zu OAuth 2.0

Azure DevOps Services verwendet das OAuth 2.0-Protokoll , um Ihre App für einen Benutzer zu autorisieren und ein Zugriffstoken zu generieren. Verwenden Sie dieses Token, wenn Sie die REST-APIs aus Ihrer Anwendung aufrufen. Wenn Sie Azure DevOps Services-APIs für diesen Benutzer aufrufen, verwenden Sie das Zugriffstoken dieses Benutzers. Zugriffstoken laufen ab, aktualisieren Sie daher das Zugriffstoken, wenn sie abgelaufen ist.

Prozess zum Abrufen der Autorisierung.

Verfügbare OAuth-Modelle

Wichtig

Verwenden Sie beim Erstellen einer neuen OAuth 2.0-App Die Microsoft Entra-ID OAuth. Azure DevOps OAuth 2.0 ist für die Veraltetkeit im Jahr 2026 vorgesehen. Ab Februar 2025 akzeptieren wir keine neuen Azure DevOps OAuth-Apps mehr. Weitere Informationen finden Sie in unserem Blogbeitrag.

Microsoft Entra ID OAuth

Das Aufbauen auf einer neuen Plattform kann überwältigend sein. In diesem Leitfaden zum Erstellen einer Microsoft Entra-App für Azure DevOps sammeln wir hilfreiche Links, die hilfreich sein könnten, um den OAuth-App-Entwicklungsprozess auf Microsoft Entra zu starten. Für Personen, die von Azure DevOps OAuth zu Microsoft Entra OAuth migrieren, bieten wir hilfreiche Tipps, die Sie während Ihrer Migrationsanstrengung berücksichtigen sollten.

Azure DevOps OAuth

Informationen zu vorhandenen Apps finden Sie im Azure DevOps OAuth-App-Handbuch. Sie können auch verwalten, welche Azure DevOps-Apps für den Zugriff auf Ihre Ressourcen autorisiert sind.

Bereiche

Entwickler werden davon ausgegangen, welche Bereiche sie von ihren Benutzern benötigen. Die gleichen Bereiche sind in beiden OAuth-Modellen verfügbar. Die folgenden Bereiche sind nur über delegierte (im Auftrag von Benutzer)-Flüssen verfügbar. Um herauszufinden, welche Bereiche Sie für Ihre App benötigen, suchen Sie unter der Kopfzeile auf der scopes SEITE "API-Referenz" nach jeder api, die Sie verwenden.

Einige Bereiche können einschließlich anderer Bereiche sein, vso.code_manage z. B. einschließlich vso.code_write. Beispielsweise erben viele Bereiche von vso.profile. Überlegen Sie, was die minimale Anzahl von Bereichen ist, die Sie benötigen, wenn Sie eine Bereichszustimmung von Benutzern anfordern.

Hinweis

Bereiche ermöglichen nur den Zugriff auf REST-APIs und wählen Git-Endpunkte aus. DER SOAP-API-Zugriff wird nicht unterstützt.

Kategorie `Scope` Name Beschreibung Erbt von
Erweiterte Sicherheit vso.advsec AdvancedSecurity (lesen) Gewährt die Möglichkeit, Warnungen, Ergebnisinstanzen, Analyseergebnisinstanzen zu lesen.
vso.advsec_write AdvancedSecurity (Lese- und Schreibzugriff) Gewährt die Möglichkeit, Analysen in Sarif hochzuladen vso.advsec
vso.advsec_manage AdvancedSecurity (Lesen, Schreiben und Verwalten) Gewährt die Möglichkeit, Analysen in Sarif hochzuladen vso.advsec_write
Agentpools vso.agentpools Agentpools (lesen) Gewährt die Möglichkeit, Aufgaben, Pools, Warteschlangen, Agents und aktuell ausgeführte oder kürzlich abgeschlossene Aufträge für Agents anzuzeigen.
vso.agentpools_manage Agent-Pools (Lesen, verwalten) Gewährt die Möglichkeit, Pools, Warteschlangen und Agents zu verwalten. vso.agentpools
vso.environment_manage Umgebung (lesen, verwalten) Gewährt die Möglichkeit, Pools, Warteschlangen, Agents und Umgebungen zu verwalten. vso.agentpools_manage
Analyse vso.analytics Analyse (lesen) Gewährt die Möglichkeit, Analysedaten abzufragen.
Überwachung vso.auditlog Überwachungsprotokoll (gelesen) Gewährt Benutzern die Möglichkeit, das Überwachungsprotokoll zu lesen.
vso.auditstreams_manage Überwachungsdatenströme (lesen) Gewährt benutzern die Möglichkeit, Überwachungsdatenströme zu verwalten. vso.auditlog
Build vso.build Build (Lesen) Gewährt die Möglichkeit, auf Buildartefakte zuzugreifen, einschließlich Buildergebnissen, Definitionen und Anforderungen sowie die Möglichkeit, Benachrichtigungen über Buildereignisse über Dienst-Hooks zu empfangen. vso.hooks_write
vso.build_execute Build (Lesen und Ausführen) Gewährt die Möglichkeit, auf Buildartefakte zuzugreifen, einschließlich Buildergebnissen, Definitionen und Anforderungen sowie die Möglichkeit, einen Build in die Warteschlange zu stellen, Buildeigenschaften zu aktualisieren und Benachrichtigungen über Buildereignisse über Dienst-Hooks zu empfangen. vso.build
Code vso.code Code (Lesen) Gewährt die Möglichkeit, Quellcode und Metadaten zu Commits, Changesets, Verzweigungen und anderen Versionskontrollartefakten zu lesen. Gewährt außerdem die Möglichkeit, Code zu durchsuchen und über Dienst-Hooks über Versionssteuerungsereignisse benachrichtigt zu werden. vso.hooks_write
vso.code_write Code (Lesen und Schreiben) Gewährt die Möglichkeit, Quellcode zu lesen, zu aktualisieren und zu löschen, auf Metadaten zu Commits, Änderungenets, Verzweigungen und anderen Versionssteuerungsartefakten zuzugreifen. Gewährt außerdem die Möglichkeit, Pullanforderungen und Codeüberprüfungen zu erstellen und zu verwalten und Benachrichtigungen über Versionssteuerungsereignisse über Dienst-Hooks zu erhalten. vso.code
vso.code_manage Code (Lesen, Schreiben und Verwalten) Gewährt die Möglichkeit, Quellcode zu lesen, zu aktualisieren und zu löschen, auf Metadaten zu Commits, Änderungenets, Verzweigungen und anderen Versionssteuerungsartefakten zuzugreifen. Gewährt außerdem die Möglichkeit, Coderepositorys zu erstellen und zu verwalten, Pullanforderungen und Codeüberprüfungen zu erstellen und zu verwalten und Benachrichtigungen über Versionssteuerungsereignisse über Diensthaken zu erhalten. vso.code_write
vso.code_full Code (vollständig) Gewährt vollzugriff auf Quellcode, Metadaten zu Commits, Changesets, Verzweigungen und anderen Versionskontrollartefakten. Gewährt außerdem die Möglichkeit, Coderepositorys zu erstellen und zu verwalten, Pullanforderungen und Codeüberprüfungen zu erstellen und zu verwalten und Benachrichtigungen über Versionssteuerungsereignisse über Diensthaken zu erhalten. Umfasst auch eingeschränkte Unterstützung für Client-OM-APIs. vso.code_manage
vso.code_status Code (Status) Gewährt die Möglichkeit, commit- und Pullanforderungsstatus zu lesen und zu schreiben.
Verbundener Server vso.connected_server Verbundener Server Gewährt die Möglichkeit, auf Endpunkte zuzugreifen, die von einem lokalen verbundenen Server benötigt werden.
Berechtigungen vso.entitlements Berechtigungen (Lesen) Bietet schreibgeschützten Zugriff auf den Endpunkt für Lizenzierungsberechtigungen zum Abrufen von Kontoberechtigungen.
vso.memberentitlementmanagement MemberEntitlement Management (lesen) Gewährt die Möglichkeit, Benutzer, ihre Lizenzen sowie Projekte und Erweiterungen zu lesen, auf die sie zugreifen können.
vso.memberentitlementmanagement_write MemberEntitlement Management (Schreiben) Gewährt die Möglichkeit, Benutzer, ihre Lizenzen sowie Projekte und Erweiterungen zu verwalten, auf die sie zugreifen können. vso.memberentitlementmanagement
Erweiterungen vso.extension Erweiterungen (lesen) Gewährt die Möglichkeit, installierte Erweiterungen zu lesen. vso.profile
vso.extension_manage Erweiterungen (lesen und verwalten) Gewährt die Möglichkeit zum Installieren, Deinstallieren und Ausführen anderer administrativer Aktionen für installierte Erweiterungen. vso.extension
vso.extension.data Erweiterungsdaten (lesen) Gewährt die Möglichkeit, Daten (Einstellungen und Dokumente) zu lesen, die von installierten Erweiterungen gespeichert sind. vso.profile
vso.extension.data_write Erweiterungsdaten (Lese- und Schreibzugriff) Gewährt die Möglichkeit, Daten (Einstellungen und Dokumente) zu lesen und zu schreiben, die von installierten Erweiterungen gespeichert sind. vso.extension.data
Github Connections vso.githubconnections GitHub Connections (lesen) Gewährt die Möglichkeit, GitHub-Verbindungen und GitHub-Repositorydaten zu lesen.
vso.githubconnections_manage GitHub Connections (Lesen und Verwalten) Gewährt die Möglichkeit, GitHub-Verbindungen und GitHub-Repositorydaten zu lesen und zu verwalten vso.githubconnections
Graph & Identity vso.graph Graph (gelesen) Gewährt die Möglichkeit, Benutzer-, Gruppen-, Bereichs- und Gruppenmitgliedschaftsinformationen zu lesen.
vso.graph_manage Graph (verwalten) Gewährt die Möglichkeit, Benutzer-, Gruppen-, Bereichs- und Gruppenmitgliedschaftsinformationen zu lesen und Benutzer, Gruppen und Gruppenmitgliedschaften hinzuzufügen. vso.graph
vso.identity Identität (Lesen) Gewährt die Möglichkeit, Identitäten und Gruppen zu lesen.
vso.identity_manage Identität (verwalten) Gewährt die Möglichkeit, Identitäten und Gruppen zu lesen, zu schreiben und zu verwalten. vso.identity
Computergruppe vso.machinegroup_manage Bereitstellungsgruppe (lesen, verwalten) Bietet die Möglichkeit zum Verwalten von Bereitstellungsgruppen- und Agentpools. vso.agentpools_manage
Marketplace vso.gallery Marketplace Gewährt Lesezugriff auf öffentliche und private Elemente und Herausgeber. vso.profile
vso.gallery_acquire Marketplace (Erwerben) Gewährt Lesezugriff und die Möglichkeit, Elemente zu erwerben. vso.gallery
vso.gallery_publish Marketplace (veröffentlichen) Gewährt Lesezugriff und die Möglichkeit zum Hochladen, Aktualisieren und Freigeben von Elementen. vso.gallery
vso.gallery_manage Marketplace (verwalten) Gewährt Lesezugriff und die Möglichkeit, Elemente und Herausgeber zu veröffentlichen und zu verwalten. vso.gallery_publish
Benachrichtigungen vso.notification Benachrichtigungen (lesen) Bietet Lesezugriff auf Abonnements und Ereignismetadaten, einschließlich filterbarer Feldwerte. vso.profile
vso.notification_write Benachrichtigungen (Schreiben) Bietet Lese- und Schreibzugriff auf Abonnements und Lesezugriff auf Ereignismetadaten, einschließlich filterbarer Feldwerte. vso.notification
vso.notification_manage Benachrichtigungen (verwalten) Bietet Lese-, Schreib- und Verwaltungszugriff auf Abonnements und Lesezugriff auf Ereignismetadaten, einschließlich filterbarer Feldwerte. vso.notification_write
vso.notification_diagnostics Benachrichtigungen (Diagnose) Bietet Zugriff auf Benachrichtigungs-bezogene Diagnoseprotokolle und bietet die Möglichkeit, die Diagnose für einzelne Abonnements zu aktivieren. vso.notification
Verpackung vso.packaging Verpackung (lesen) Gewährt die Möglichkeit, Feeds und Pakete zu lesen. vso.profile
vso.packaging_write Verpackung (Lesen und Schreiben) Gewährt die Möglichkeit, Feeds und Pakete zu erstellen und zu lesen. vso.packaging
vso.packaging_manage Verpacken (Lesen, Schreiben und Verwalten) Gewährt die Möglichkeit, Feeds und Pakete zu erstellen, zu lesen, zu aktualisieren und zu löschen. vso.packaging_write
Pipelineressourcen vso.pipelineresources_use Pipelineressourcen (Verwendung) Gewährt die Möglichkeit, die Anforderung einer Pipeline zur Verwendung einer geschützten Ressource zu genehmigen: Agentpool, Umgebung, Warteschlange, Repository, sichere Dateien, Dienstverbindung und Variablengruppe.
vso.pipelineresources_manage Pipelineressourcen (Verwenden und Verwalten) Gewährt die Möglichkeit, eine geschützte Ressource oder die Anforderung einer Pipeline zur Verwendung einer geschützten Ressource zu verwalten: Agentpool, Umgebung, Warteschlange, Repository, sichere Dateien, Dienstverbindung und Variablengruppe. vso.pipelineresources_manage
Projekt und Team vso.project Projekt und Team (Lesen) Gewährt die Möglichkeit, Projekte und Teams zu lesen.
vso.project_write Projekt und Team (Lesen und Schreiben) Gewährt die Möglichkeit, Projekte und Teams zu lesen und zu aktualisieren. vso.project
vso.project_manage Projekt und Team (Lesen, Schreiben und Verwalten) Gewährt die Möglichkeit, Projekte und Teams zu erstellen, zu lesen, zu aktualisieren und zu löschen. vso.project_write
Release vso.release Release (lesen) Gewährt die Möglichkeit, Releaseartefakte zu lesen, einschließlich Versionen, Releasedefinitionen und Releaseumgebung. vso.profile
vso.release_execute Release (Lesen, Schreiben und Ausführen) Gewährt die Möglichkeit, Releaseartefakte zu lesen und zu aktualisieren, einschließlich Versionen, Releasedefinitionen und Releaseumgebung und die Möglichkeit, eine neue Version in die Warteschlange zu stellen. vso.release
vso.release_manage Release (Lesen, Schreiben, Ausführen und Verwalten) Gewährt die Möglichkeit zum Lesen, Aktualisieren und Löschen von Releaseartefakten, einschließlich Versionen, Releasedefinitionen und Releaseumgebung sowie der Möglichkeit, eine neue Version in die Warteschlange zu stellen und zu genehmigen. vso.release_manage
Sichere Dateien vso.securefiles_read Sichere Dateien (lesen) Gewährt die Möglichkeit, sichere Dateien zu lesen.
vso.securefiles_write Sichere Dateien (lesen, erstellen) Gewährt die Möglichkeit, sichere Dateien zu lesen und zu erstellen. vso.securefiles_read
vso.securefiles_manage Sichere Dateien (Lesen, Erstellen und Verwalten) Gewährt die Möglichkeit, sichere Dateien zu lesen, zu erstellen und zu verwalten. vso.securefiles_write
Security vso.security_manage Sicherheit (verwalten) Gewährt die Möglichkeit zum Lesen, Schreiben und Verwalten von Sicherheitsberechtigungen.
Verwenden einer Dienstverbindung vso.serviceendpoint Dienstendpunkte (lesen) Gewährt die Möglichkeit, Dienstendpunkte zu lesen. vso.profile
vso.serviceendpoint_query Dienstendpunkte (Lesen und Abfragen) Gewährt die Möglichkeit zum Lesen und Abfragen von Dienstendpunkten. vso.serviceendpoint
vso.serviceendpoint_manage Dienstendpunkte (Lesen, Abfragen und Verwalten) Gewährt die Möglichkeit zum Lesen, Abfragen und Verwalten von Dienstendpunkten. vso.serviceendpoint_query
Service Hooks vso.hooks Service-Hooks (lesen) Gewährt die Möglichkeit, Diensthakenabonnements und Metadaten zu lesen, einschließlich unterstützter Ereignisse, Consumer und Aktionen. (Nicht mehr öffentlich.) vso.profile
vso.hooks_write Service-Hooks (Lese- und Schreibzugriff) Gewährt die Möglichkeit, Service Hook-Abonnements zu erstellen und zu aktualisieren und Metadaten zu lesen, einschließlich unterstützter Ereignisse, Consumer und Aktionen. (Nicht mehr öffentlich.) vso.hooks
vso.hooks_interact Diensthaken (interagieren) Gewährt die Möglichkeit, über Dienst-Hooks empfangene Ereignisse zu interagieren und Aktionen auszuführen. (Nicht mehr öffentlich.) vso.profile
Einstellungen vso.settings Einstellungen (lesen) Gewährt die Möglichkeit zum Lesen von Einstellungen.
vso.settings_write Einstellungen (Lese- und Schreibzugriff) Gewährt die Möglichkeit zum Erstellen und Lesen von Einstellungen.
Symbols vso.symbols Symbole (gelesen) Gewährt die Möglichkeit, Symbole zu lesen. vso.profile
vso.symbols_write Symbole (Lesen und Schreiben) Gewährt die Möglichkeit, Symbole zu lesen und zu schreiben. vso.symbols
vso.symbols_manage Symbole (Lesen, Schreiben und Verwalten) Gewährt die Möglichkeit, Symbole zu lesen, zu schreiben und zu verwalten. vso.symbols_write
Aufgabengruppen vso.taskgroups_read Aufgabengruppen (lesen) Gewährt die Möglichkeit, Aufgabengruppen zu lesen.
vso.taskgroups_write Aufgabengruppen (lesen, erstellen) Gewährt die Möglichkeit zum Lesen und Erstellen von Aufgabengruppen. vso.taskgroups_read
vso.taskgroups_manage Aufgabengruppen (Lesen, Erstellen und Verwalten) Gewährt die Möglichkeit, Taskgroups zu lesen, zu erstellen und zu verwalten. vso.taskgroups_write
Teamdashboard vso.dashboards Teamdashboards (lesen) Gewährt die Möglichkeit, Team-Dashboardinformationen zu lesen.
vso.dashboards_manage Teamdashboards (verwalten) Gewährt die Möglichkeit, Team-Dashboardinformationen zu verwalten. vso.dashboards
Testverwaltung vso.test Testverwaltung (lesen) Gewährt die Möglichkeit, Testpläne, Fälle, Ergebnisse und andere artefaktbezogene Testverwaltung zu lesen. vso.profile
vso.test_write Testverwaltung (Lese- und Schreibzugriff) Gewährt die Möglichkeit, Testpläne, Fälle, Ergebnisse und andere artefaktbezogene Testverwaltung zu lesen, zu erstellen und zu aktualisieren. vso.test
Threads vso.threads_full PR-Threads Gewährt die Möglichkeit zum Lesen und Schreiben zum Abrufen von Kommentarthreads für Anforderungskommentare.
Token vso.tokens Delegierte Autorisierungstoken Gewährt benutzern die Möglichkeit, delegierte Autorisierungstoken zu verwalten.
vso.tokenadministration Tokenverwaltung Gewährt die Möglichkeit, vorhandene Token für Organisationsadministratoren zu verwalten (anzeigen und widerrufen).
Benutzerprofil vso.profile Benutzerprofil (Lesen) Gewährt die Möglichkeit, Ihr Profil, Konten, Sammlungen, Projekte, Teams und andere Organisationsartefakte auf oberster Ebene zu lesen.
vso.profile_write Benutzerprofil (Schreiben) Gewährt die Möglichkeit, in Ihr Profil zu schreiben. vso.profile
Variable Gruppen vso.variablegroups_read Variable Gruppen (lesen) Gewährt die Möglichkeit, Variablengruppen zu lesen.
vso.variablegroups_write Variable Gruppen (lesen, erstellen) Gewährt die Möglichkeit zum Lesen und Erstellen von Variablengruppen. vso.variablegroups_read
vso.variablegroups_manage Variable Gruppen (lesen, erstellen und verwalten) Gewährt die Möglichkeit zum Lesen, Erstellen und Verwalten von Variablengruppen. vso.variablegroups_write
Wiki vso.wiki Wiki (gelesen) Gewährt die Möglichkeit, Wikis, Wiki-Seiten und Wiki-Anlagen zu lesen. Gewährt auch die Möglichkeit, Wiki-Seiten zu durchsuchen.
vso.wiki_write Wiki (Lesen und Schreiben) Gewährt die Möglichkeit, Wikis, Wiki-Seiten und Wiki-Anlagen zu lesen, zu erstellen und zu aktualisieren. vso.wiki
Arbeitsaufgaben vso.work Arbeitselemente (Lesen) Gewährt die Möglichkeit, Arbeitsaufgaben, Abfragen, Boards, Flächen- und Iterationspfade und andere Metadaten zur Nachverfolgung von Arbeitsaufgaben zu lesen. Gewährt außerdem die Möglichkeit, Abfragen auszuführen, Arbeitsaufgaben zu durchsuchen und Benachrichtigungen über Arbeitsaufgabenereignisse über Dienst-Hooks zu erhalten. vso.hooks_write
vso.work_write Arbeitselemente (Lesen und Schreiben) Gewährt die Möglichkeit, Arbeitsaufgaben und Abfragen zu lesen, zu erstellen und zu aktualisieren, Boardmetadaten zu aktualisieren, Bereiche und Iterationspfade für andere Pfade für die Nachverfolgung verwandter Arbeitsaufgaben zu aktualisieren, Abfragen auszuführen und Benachrichtigungen über Arbeitsaufgabenereignisse über Diensthaken zu erhalten. vso.work
vso.work_full Arbeitsaufgaben (vollständig) Gewährt vollzugriff auf Arbeitsaufgaben, Abfragen, Backlogs, Pläne und Metadaten zur Nachverfolgung von Arbeitsaufgaben. Bietet außerdem die Möglichkeit, Benachrichtigungen über Arbeitsaufgabenereignisse über Service-Hooks zu empfangen. vso.work_write
Benutzeridentitätswechsel user_impersonation Benutzeridentitätswechsel Vollzugriff auf REST-APIs von Visual Studio Team Services. Fordern Sie diesen Bereich mit Vorsicht an und/oder stimmen Sie zu, da es sehr leistungsfähig ist!

Häufig gestellte Fragen

Häufig gestellte Fragen (FAQs)

F: Kann ich OAuth mit meiner Mobiltelefon-App verwenden?

A: Nein. Azure DevOps Services unterstützt nur den Webserverfluss, daher gibt es keine Möglichkeit, OAuth zu implementieren, da Sie den geheimen App-Schlüssel nicht sicher speichern können.

F: Kann ich OAuth mit den SOAP-Endpunkten und REST-APIs verwenden?

A: Nein. OAuth wird nur in den REST-APIs unterstützt.