Freigeben über


Authentifizieren des Zugriffs auf REST-APIs mit OAuth 2.0

Azure DevOps Services

Erfahren Sie, wie Sie die Benutzer Ihrer Webanwendung für den Zugriff auf die REST-API authentifizieren, damit Ihre App nicht mehr 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.

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 die Zugriffstoken, wenn sie abgelaufen sind.

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 soll im Jahr 2026 außer Kraft gesetzt werden. Ab April 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 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

Es wird erwartet, dass Entwickler die Zugriffsbereiche angeben, die sie von ihren Benutzern anfordern. Die gleichen Bereiche sind in beiden OAuth-Modellen verfügbar. Die folgenden Bereiche sind nur über delegierte Flüsse (im Auftrag von Benutzern) verfügbar. Um herauszufinden, welche Berechtigungen Sie für Ihre App benötigen, schauen Sie unter dem scopes-Header auf der API-Referenzseite für jede 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 Anwendungsbereiche 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 Umfang Name Erhöhte Berechtigungen Beschreibung Erbt von
Erweiterte Sicherheit vso.advsec AdvancedSecurity (lesen) Ja Gewährt die Möglichkeit, Warnungen, Ergebnisinstanzen, Analyseergebnisinstanzen zu lesen.
vso.advsec_write AdvancedSecurity (Lese- und Schreibzugriff) Ja Gewährt die Möglichkeit, Analysen in Sarif hochzuladen vso.advsec
vso.advsec_manage AdvancedSecurity (Lesen, Schreiben und Verwalten) Ja Gewährt die Möglichkeit, Analysen in Sarif hochzuladen vso.advsec_write
Agentpools vso.agentpools Agenten-Pools (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) Ja Gewährt die Möglichkeit, Pools, Warteschlangen und Agents zu verwalten. vso.agentpools
vso.environment_manage Environment (lesen, verwalten) Ja Gewährt die Möglichkeit, Pools, Warteschlangen, Agents und Umgebungen zu verwalten. vso.agentpools_manage
Analytik vso.analytics Analytics (lesen) Gewährt die Möglichkeit, Analysedaten abzufragen.
Rechnungsprüfung vso.auditlog Überwachungsprotokoll (gelesen) Gewährt Benutzern die Möglichkeit, das Überwachungsprotokoll zu lesen.
vso.auditstreams_manage Audit Streams (lesen) Ja Gewährt benutzern die Möglichkeit, Überwachungsdatenströme zu verwalten. vso.auditlog
Bauen vso.build Build (Lesen) Gewährt die Möglichkeit, auf Build-Artefakte zuzugreifen, einschließlich der Ergebnisse, Definitionen und Anfragen von Builds, sowie die Möglichkeit, Benachrichtigungen über Build-Ereignisse über Service-Hooks zu empfangen. vso.hooks_write
vso.build_execute Build (Lesen und Ausführen) Ja Gewährt die Möglichkeit, auf Build-Artefakte zuzugreifen, einschließlich Build-Ergebnisse, Definitionen und Anfragen, sowie die Möglichkeit, einen Build in die Warteschlange zu stellen, Build-Eigenschaften zu aktualisieren und über Dienst-Hooks Benachrichtigungen über Build-Ereignisse zu erhalten. vso.build
Code vso.code Code (Lesen) Gewährt die Möglichkeit, Quellcode und Metadaten über Commits, Changesets, Branches und andere Artefakte der Versionssteuerung 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) Ja Gewährt die Möglichkeit, Quellcode zu lesen, zu aktualisieren und zu löschen sowie auf Metadaten zu Commits, Änderungssätzen, Verzweigungen und anderen Artefakten der Versionskontrolle 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) Ja Gewährt die Möglichkeit, Quellcode zu lesen, zu aktualisieren und zu löschen sowie auf Metadaten zu Commits, Änderungssätzen, Verzweigungen und anderen Artefakten der Versionskontrolle 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) Ja Gewährt vollen Zugriff auf Quellcode, Metadaten über Commits, Änderungssätze, Branches und andere Versionskontrollartefakte. 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, den Commit- und Pull-Request-Status zu lesen und zu schreiben.
Verbundener Server vso.connected_server Verbundener Server Gewährt die Möglichkeit, auf Endpunkte zuzugreifen, die für einen lokal angebundenen Server erforderlich sind.
Berechtigungen vso.entitlements Berechtigungen (Lesen) Ermöglicht den schreibgeschützten Zugriff auf den Endpunkt für die Lizenzierung von Berechtigungen, um Kontoberechtigungen zu erhalten.
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 MemberIntitlement Management (schreiben) Ja 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) Ja 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 (Lesen und Schreiben) 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-Verbindungen (lesen) Gewährt die Möglichkeit, GitHub-Verbindungen und GitHub-Repositorydaten zu lesen.
vso.githubconnections_manage GitHub Connections (Lesen und Verwalten) Ja Gewährt die Möglichkeit, GitHub-Verbindungen und GitHub-Repositorydaten zu lesen und zu verwalten vso.githubconnections
Graph & Identity vso.graph Graph (lesen) Gewährt die Möglichkeit, Benutzer-, Gruppen-, Bereichs- und Gruppenmitgliedschaftsinformationen zu lesen.
vso.graph_manage Graph (verwalten) Ja 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) Ja 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) Ja Bietet die Möglichkeit zum Verwalten von Bereitstellungsgruppen- und Agentpools. vso.agentpools_manage
Marktplatz vso.gallery Marktplatz Ermöglicht Lesezugriff auf öffentliche und private Artikel und Publisher. vso.profile
vso.gallery_acquire Marketplace (beziehen) Ermöglicht Lesezugriff und die Möglichkeit, Artikel zu beziehen. vso.gallery
vso.gallery_publish Marktplatz (veröffentlichen) Ja Gewährt Lesezugriff und die Möglichkeit zum Hochladen, Aktualisieren und Freigeben von Elementen. vso.gallery
vso.gallery_manage Marketplace (verwalten) Ja 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 (Verfassen) 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 Packaging (lesen) Ermöglicht das Lesen von Feeds und Paketen. vso.profile
vso.packaging_write Packaging (lesen und schreiben) Ja Gewährt die Möglichkeit, Feeds und Pakete zu erstellen und zu lesen. vso.packaging
vso.packaging_manage Packaging (lesen, schreiben und verwalten) Ja 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) Ja 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) Ja 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) Ja Gewährt die Möglichkeit, Projekte und Teams zu erstellen, zu lesen, zu aktualisieren und zu löschen. vso.project_write
Loslassen vso.release Freigeben (lesen) Gewährt die Möglichkeit, Releaseartefakte zu lesen, einschließlich Versionen, Releasedefinitionen und Releaseumgebung. vso.profile
vso.release_execute Freigabe (lesen, schreiben und ausführen) Ja 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 Freigabe (Lesen, Schreiben, Ausführen und Verwalten) Ja 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) Ja Gewährt die Möglichkeit, sichere Dateien zu lesen.
vso.securefiles_write Sichere Dateien (lesen, erstellen) Ja Gewährt die Möglichkeit, sichere Dateien zu lesen und zu erstellen. vso.securefiles_read
vso.securefiles_manage Sichere Dateien (Lesen, Erstellen und Verwalten) Ja Gewährt die Möglichkeit, sichere Dateien zu lesen, zu erstellen und zu verwalten. vso.securefiles_write
Sicherheit vso.security_manage Sicherheit (verwalten) Ja Gewährt die Möglichkeit zum Lesen, Schreiben und Verwalten von Sicherheitsberechtigungen.
Dienstverbindungen 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) Ja Gewährt die Möglichkeit zum Lesen, Abfragen und Verwalten von Dienstendpunkten. vso.serviceendpoint_query
Dienst-Hooks vso.hooks Dienst-Hooks (lesen) Ermöglicht das Lesen von Abonnements und Metadaten für Dienst-Hooks, einschließlich unterstützter Ereignisse, Consumer und Aktionen. (Nicht mehr öffentlich.) vso.profile
vso.hooks_write Dienst-Hooks (lesen und schreiben) Gewährt die Funktion, Service Hook-Abonnements zu erstellen und zu aktualisieren und Metadaten zu lesen, einschließlich unterstützter Ereignisse, Verbraucher und Aktionen. (Nicht mehr öffentlich.) vso.hooks
vso.hooks_interact Dienst-Hooks (interagieren) Ermöglicht die Interaktion und die Durchführung von Aktionen bei Ereignissen, die über Dienst-Hooks empfangen werden. (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.
Symbole vso.symbols Symbole (lesen) 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) Ja Gewährt die Möglichkeit, Taskgroups zu lesen, zu erstellen und zu verwalten. vso.taskgroups_write
Teamdashboard vso.dashboards Team-Dashboards (lesen) Gewährt die Möglichkeit, Team-Dashboardinformationen zu lesen.
vso.dashboards_manage Team-Dashboards (Verwalten) Gewährt die Möglichkeit, Team-Dashboardinformationen zu verwalten. vso.dashboards
Testverwaltung vso.test Test Management (lesen) Gewährt die Möglichkeit, Testpläne, Testfälle, Ergebnisse und andere testmanagementbezogene Artefakte zu lesen. vso.profile
vso.test_write Testverwaltung (Lese- und Schreibzugriff) Gewährt die Möglichkeit, Testpläne, Testfälle, Testergebnisse und andere Artefakte der Testverwaltung zu lesen, zu erstellen und zu aktualisieren. vso.test
Fäden vso.threads_full PR-Threads Gewährleistet die Möglichkeit, Lese- und Schreibzugriff auf Kommentarthreads von Pull Requests zu haben.
Token vso.tokens Delegierte Autorisierungstoken Ja Gewährt benutzern die Möglichkeit, delegierte Autorisierungstoken zu verwalten.
vso.tokenadministration Tokenverwaltung Ja Gewährt Organisationsadministratoren die Fähigkeit, vorhandene Token zu verwalten, indem sie diese anzeigen und widerrufen können.
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
Variablengruppen vso.variablegroups_read Variablengruppen (lesen) Gewährt die Möglichkeit, Variablengruppen zu lesen.
vso.variablegroups_write Variablengruppen (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) Ja Gewährt die Möglichkeit zum Lesen, Erstellen und Verwalten von Variablengruppen. vso.variablegroups_write
Wiki vso.wiki Wiki (lesen) 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, Arbeitselemente, Abfragen, Boards, Bereichs- und Iterationspfade und andere Metadaten zum Verfolgen von Arbeitselementen 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, Arbeitselemente und Abfragen zu lesen, zu erstellen und zu aktualisieren, Board-Metadaten zu aktualisieren, Bereiche und Iterationspfade für andere Metadaten zur Arbeitselementverfolgung zu lesen, Abfragen auszuführen und Benachrichtigungen über Arbeitselementereignisse über Service-Hooks zu erhalten. vso.work
vso.work_full Arbeitselemente (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 Arbeitsvorgangsereignisse über Service Hooks zu empfangen. vso.work_write
Benutzerimitation user_impersonation Benutzeridentitätswechsel Ja Vollzugriff auf REST-APIs von Visual Studio Team Services. Fordern Sie diesen Umfang mit Vorsicht an und/oder stimmen Sie dem zu, da er sehr leistungsstark ist!

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.