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. Aktualisieren Sie das Zugriffstoken, wenn es abgelaufen ist.

Process to get authorization.

Verfügbare OAuth-Modelle

Wenn Sie eine OAuth 2.0-App erstellen, verwenden Sie Die Microsoft Entra ID OAuth. Wir unterstützen weiterhin Azure DevOps OAuth 2.0, aber wir investieren derzeit nicht auf dieses Modell.

Microsoft Entra ID OAuth

Wenn Sie eine OAuth-App für Microsoft Entra-ID erstellen, wird Ihre App Microsoft Entra-Token und keine Azure DevOps-Zugriffstoken ausgegeben. Diese Token haben eine standardmäßige einstündige Dauer vor ablaufen.

Weitere Informationen finden Sie in den folgenden Artikeln:

Hinweis

Wenn Sie Apps erstellen, die andere APIs verwenden, stellen Sie sicher, dass Sie die bereiche auswählen, die für diese APIs erforderlich sind.

Azure DevOps OAuth

Verwenden Sie für vorhandene Apps das Azure DevOps OAuth-Handbuch. Sie können auch verwalten, welche Azure DevOps-Apps autorisiert sind.

Bereiche

Entwickler werden davon ausgegangen, welche Bereiche sie von ihren Benutzern benötigen. 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, code_manage z. B. einschließlich code_write. Überlegen Sie, was die minimale Anzahl von Bereichen ist, die Sie benötigen, wenn Sie eine Bereichszustimmung von Benutzern anfordern.

Wichtig

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 Beschreibung
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 Agentpools (lesen, verwalten) Gewährt die Möglichkeit, Pools, Warteschlangen und Agents zu verwalten.
vso.environment_manage Umgebung (lesen, verwalten) Gewährt die Möglichkeit, Pools, Warteschlangen, Agents und Umgebungen zu verwalten.
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.
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.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.
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.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_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_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_status Code (Status) Gewährt die Möglichkeit, commit- und Pullanforderungsstatus zu lesen und zu schreiben.
Verbinden ed 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.
Erweiterungen vso.extension Erweiterungen (lesen) Gewährt die Möglichkeit, installierte Erweiterungen zu lesen.
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.data Erweiterungsdaten (lesen) Gewährt die Möglichkeit, Daten (Einstellungen und Dokumente) zu lesen, die von installierten Erweiterungen gespeichert sind.
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.
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.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.
Computergruppe vso.machinegroup_manage Bereitstellungsgruppe (lesen, verwalten) Bietet die Möglichkeit zum Verwalten von Bereitstellungsgruppen- und Agentpools.
Marketplace vso.gallery Marketplace Gewährt Lesezugriff auf öffentliche und private Elemente und Herausgeber.
vso.gallery_acquire Marketplace (Erwerben) Gewährt Lesezugriff und die Möglichkeit, Elemente zu erwerben.
vso.gallery_publish Marketplace (veröffentlichen) Gewährt Lesezugriff und die Möglichkeit zum Hochladen, Aktualisieren und Freigeben von Elementen.
vso.gallery_manage Marketplace (verwalten) Gewährt Lesezugriff und die Möglichkeit, Elemente und Herausgeber zu veröffentlichen und zu verwalten.
Benachrichtigungen vso.notification Benachrichtigungen (lesen) Bietet Lesezugriff auf Abonnements und Ereignismetadaten, einschließlich filterbarer Feldwerte.
vso.notification_write Benachrichtigungen (Schreiben) Bietet Lese- und Schreibzugriff auf Abonnements und Lesezugriff auf Ereignismetadaten, einschließlich filterbarer Feldwerte.
vso.notification_manage Benachrichtigungen (verwalten) Bietet Lese-, Schreib- und Verwaltungszugriff auf Abonnements und Lesezugriff auf Ereignismetadaten, einschließlich filterbarer Feldwerte.
vso.notification_diagnostics Benachrichtigungen (Diagnose) Bietet Zugriff auf benachrichtigungsbezogene Diagnoseprotokolle und bietet die Möglichkeit, Diagnose für einzelne Abonnements zu aktivieren.
Verpackung vso.packaging Verpackung (lesen) Gewährt die Möglichkeit, Feeds und Pakete zu lesen.
vso.packaging_write Verpackung (Lesen und Schreiben) Gewährt die Möglichkeit, Feeds und Pakete zu erstellen und zu lesen.
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.
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.
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_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.
Release vso.release Release (lesen) Gewährt die Möglichkeit, Releaseartefakte zu lesen, einschließlich Versionen, Releasedefinitionen und Releaseumgebung.
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_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.
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_manage Sichere Dateien (Lesen, Erstellen und Verwalten) Gewährt die Möglichkeit, sichere Dateien zu lesen, zu erstellen und zu verwalten.
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.serviceendpoint_query Dienstendpunkte (Lesen und Abfragen) Gewährt die Möglichkeit zum Lesen und Abfragen von Dienstendpunkten.
vso.serviceendpoint_manage Dienstendpunkte (Lesen, Abfragen und Verwalten) Gewährt die Möglichkeit zum Lesen, Abfragen und Verwalten von Dienstendpunkten.
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.symbols_write Symbole (Lesen und Schreiben) Gewährt die Möglichkeit, Symbole zu lesen und zu schreiben.
vso.symbols_manage Symbole (Lesen, Schreiben und Verwalten) Gewährt die Möglichkeit, Symbole zu lesen, zu schreiben und zu verwalten.
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_manage Aufgabengruppen (Lesen, Erstellen und Verwalten) Gewährt die Möglichkeit, Taskgroups zu lesen, zu erstellen und zu verwalten.
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.
Testverwaltung vso.test Testverwaltung (lesen) Gewährt die Möglichkeit, Testpläne, Fälle, Ergebnisse und andere artefaktbezogene Testverwaltung zu lesen.
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.
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.
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_manage Variable Gruppen (lesen, erstellen und verwalten) Gewährt die Möglichkeit zum Lesen, Erstellen und Verwalten von Variablengruppen.
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.
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.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_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.
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!