Autorizzare l'accesso alle API REST con OAuth 2.0

Servizi di Azure DevOps

Informazioni su come autenticare gli utenti dell'app Web per l'accesso all'API REST, in modo che l'app non continui a richiedere nomi utente e password.

Nota

  • Le indicazioni seguenti sono destinate agli utenti di Azure DevOps Services perché OAuth 2.0 non è supportato in Azure DevOps Server. Le librerie client sono una serie di pacchetti creati specificamente per estendere la funzionalità di Azure DevOps Server. Per gli utenti locali, è consigliabile usare librerie client, autenticazione di Windows o token di accesso personale per l'autenticazione per conto di un utente.
  • Per altre informazioni, vedere l'esempio di GitHub OAuth per C#.

Informazioni su OAuth 2.0

Azure DevOps Services usa il protocollo OAuth 2.0 per autorizzare l'app per un utente e generare un token di accesso. Usare questo token quando si chiamano le API REST dall'applicazione. Quando si chiamano le API di Azure DevOps Services per tale utente, usare il token di accesso dell'utente. I token di accesso scadono, quindi è necessario aggiornarli se sono scaduti.

Process to get authorization.

Modelli OAuth disponibili

Quando si crea un'app OAuth 2.0, usare Microsoft Entra ID OAuth. Microsoft supporta ancora Azure DevOps OAuth 2.0, ma al momento non si investe in questo modello.

Microsoft Entra ID OAuth

Quando si crea un'app OAuth microsoft Entra ID, l'app viene rilasciata tramite token Microsoft Entra, non i token di accesso di Azure DevOps. Questi token hanno una durata standard di un'ora prima della scadenza.

Per altre informazioni, vedere gli articoli seguenti:

Nota

Quando si creano app che usano altre API, assicurarsi di selezionare gli ambiti necessari per tali API.

Azure DevOps OAuth

Per le app esistenti, usare la guida OAuth di Azure DevOps. È anche possibile gestire le app Azure DevOps autorizzate.

Ambiti

Gli sviluppatori devono specificare gli ambiti richiesti dagli utenti. Gli ambiti sono disponibili in entrambi i modelli OAuth. Gli ambiti seguenti sono disponibili solo tramite flussi delegati (on-behalf-of-user). Per scoprire gli ambiti necessari per l'app, cercare sotto l'intestazione scopes nella pagina Informazioni di riferimento sulle API per ogni API in uso.

Alcuni ambiti possono essere inclusi in altri ambiti, ad esempio include code_managecode_write. Considerare il numero minimo di ambiti necessari quando si richiede il consenso dell'ambito agli utenti.

Importante

Gli ambiti consentono solo l'accesso alle API REST e selezionare Endpoint Git. L'accesso all'API SOAP non è supportato.

Category Ambito Nome Descrizione
Pool di agenti vso.agentpools Pool di agenti (lettura) Concede la possibilità di visualizzare attività, pool, code, agenti e processi attualmente in esecuzione o completati di recente per gli agenti.
vso.agentpools_manage Pool di agenti (lettura, gestione) Concede la possibilità di gestire pool, code e agenti.
vso.environment_manage Ambiente (lettura, gestione) Concede la possibilità di gestire pool, code, agenti e ambienti.
Analisi vso.analytics Analisi (lettura) Concede la possibilità di eseguire query sui dati di analisi.
Controllo vso.auditlog Log di controllo (lettura) Concede la possibilità di leggere il log di controllo agli utenti.
vso.auditstreams_manage Controllo Flussi (lettura) Concede la possibilità di gestire i flussi di controllo agli utenti.
Build vso.build Compilazione (lettura) Concede la possibilità di accedere agli artefatti di compilazione, inclusi i risultati di compilazione, le definizioni e le richieste e la possibilità di ricevere notifiche sugli eventi di compilazione tramite hook del servizio.
vso.build_execute Compilazione (lettura ed esecuzione) Concede la possibilità di accedere agli artefatti di compilazione, inclusi i risultati di compilazione, le definizioni e le richieste e la possibilità di accodare una compilazione, aggiornare le proprietà di compilazione e la possibilità di ricevere notifiche sugli eventi di compilazione tramite hook del servizio.
Codice vso.code Codice (lettura) Concede la possibilità di leggere il codice sorgente e i metadati relativi a commit, insiemi di modifiche, rami e altri artefatti del controllo della versione. Concede inoltre la possibilità di cercare il codice e ricevere notifiche sugli eventi di controllo della versione tramite hook del servizio.
vso.code_write Codice (lettura e scrittura) Concede la possibilità di leggere, aggiornare ed eliminare il codice sorgente, accedere ai metadati relativi a commit, insiemi di modifiche, rami e altri artefatti del controllo della versione. Concede inoltre la possibilità di creare e gestire richieste pull e revisioni del codice e di ricevere notifiche sugli eventi di controllo della versione tramite hook del servizio.
vso.code_manage Codice (lettura, scrittura e gestione) Concede la possibilità di leggere, aggiornare ed eliminare il codice sorgente, accedere ai metadati relativi a commit, insiemi di modifiche, rami e altri artefatti del controllo della versione. Concede inoltre la possibilità di creare e gestire repository di codice, creare e gestire richieste pull e revisioni del codice e ricevere notifiche sugli eventi di controllo della versione tramite hook del servizio.
vso.code_full Codice (completo) Concede l'accesso completo al codice sorgente, ai metadati relativi a commit, insiemi di modifiche, rami e altri artefatti del controllo della versione. Concede inoltre la possibilità di creare e gestire repository di codice, creare e gestire richieste pull e revisioni del codice e ricevere notifiche sugli eventi di controllo della versione tramite hook del servizio. Include anche il supporto limitato per le API OM client.
vso.code_status Codice (stato) Concede la possibilità di leggere e scrivere lo stato di commit e richiesta pull.
server Connessione ed vso.connected_server server Connessione ed Concede la possibilità di accedere agli endpoint necessari da un server connesso locale.
Diritti vso.entitlements Entitlement (lettura) Fornisce l'accesso in sola lettura all'endpoint dei diritti di licenza per ottenere i diritti dell'account.
vso.memberentitlementmanagement Gestione MemberEntitlement (lettura) Concede la possibilità di leggere gli utenti, le licenze e i progetti e le estensioni a cui possono accedere.
vso.memberentitlementmanagement_write Gestione MemberEntitlement (scrittura) Concede la possibilità di gestire gli utenti, le licenze e i progetti e le estensioni a cui possono accedere.
Estensioni vso.extension Estensioni (lettura) Concede la possibilità di leggere le estensioni installate.
vso.extension_manage Estensioni (lettura e gestione) Concede la possibilità di installare, disinstallare ed eseguire altre azioni amministrative sulle estensioni installate.
vso.extension.data Dati di estensione (lettura) Concede la possibilità di leggere i dati (impostazioni e documenti) archiviati dalle estensioni installate.
vso.extension.data_write Dati di estensione (lettura e scrittura) Concede la possibilità di leggere e scrivere dati (impostazioni e documenti) archiviati dalle estensioni installate.
Grafico e identità vso.graph Grafico (lettura) Concede la possibilità di leggere le informazioni sull'appartenenza a utenti, gruppi, ambiti e gruppi.
vso.graph_manage Grafico (gestisci) Concede la possibilità di leggere informazioni su utenti, gruppi, ambito e appartenenza a gruppi e aggiungere utenti, gruppi e gestire le appartenenze ai gruppi.
vso.identity Identità (lettura) Concede la possibilità di leggere identità e gruppi.
vso.identity_manage Identità (gestione) Concede la possibilità di leggere, scrivere e gestire identità e gruppi.
Gruppo di computer vso.machinegroup_manage Gruppo di distribuzione (lettura, gestione) Consente di gestire gruppi di distribuzione e pool di agenti.
Marketplace vso.gallery Marketplace Concede l'accesso in lettura a elementi e editori pubblici e privati.
vso.gallery_acquire Marketplace (acquisizione) Concede l'accesso in lettura e la possibilità di acquisire elementi.
vso.gallery_publish Marketplace (pubblicazione) Concede l'accesso in lettura e la possibilità di caricare, aggiornare e condividere elementi.
vso.gallery_manage Marketplace (gestisci) Concede l'accesso in lettura e la possibilità di pubblicare e gestire elementi e editori.
Notifications vso.notification Notifiche (lettura) Fornisce l'accesso in lettura alle sottoscrizioni e ai metadati degli eventi, inclusi i valori dei campi filtrabili.
vso.notification_write Notifiche (scrittura) Fornisce l'accesso in lettura e scrittura alle sottoscrizioni e l'accesso in lettura ai metadati degli eventi, inclusi i valori di campo filtrabili.
vso.notification_manage Notifiche (gestione) Fornisce l'accesso in lettura, scrittura e gestione alle sottoscrizioni e l'accesso in lettura ai metadati degli eventi, inclusi i valori dei campi filtrabili.
vso.notification_diagnostics Notifiche (diagnostica) Fornisce l'accesso ai log di diagnostica correlati alle notifiche e consente di abilitare la diagnostica per le singole sottoscrizioni.
Imballaggio vso.packaging Creazione di pacchetti (lettura) Concede la possibilità di leggere feed e pacchetti.
vso.packaging_write Creazione di pacchetti (lettura e scrittura) Concede la possibilità di creare e leggere feed e pacchetti.
vso.packaging_manage Creazione di pacchetti (lettura, scrittura e gestione) Concede la possibilità di creare, leggere, aggiornare ed eliminare feed e pacchetti.
Risorse della pipeline vso.pipelineresources_use Risorse della pipeline (uso) Concede la possibilità di approvare la richiesta di una pipeline di usare una risorsa protetta: pool di agenti, ambiente, coda, repository, file protetti, connessione al servizio e gruppo di variabili.
vso.pipelineresources_manage Risorse della pipeline (uso e gestione) Concede la possibilità di gestire una risorsa protetta o una richiesta di una pipeline di usare una risorsa protetta: pool di agenti, ambiente, coda, repository, file protetti, connessione al servizio e gruppo di variabili.
Progetto e team vso.project Progetto e team (lettura) Concede la possibilità di leggere progetti e team.
vso.project_write Progetto e team (lettura e scrittura) Concede la possibilità di leggere e aggiornare progetti e team.
vso.project_manage Progetto e team (lettura, scrittura e gestione) Concede la possibilità di creare, leggere, aggiornare ed eliminare progetti e team.
Versione vso.release Versione (lettura) Concede la possibilità di leggere gli artefatti della versione, incluse le versioni, le definizioni di versione e l'ambiente di rilascio.
vso.release_execute Versione (lettura, scrittura ed esecuzione) Concede la possibilità di leggere e aggiornare gli artefatti di versione, incluse le versioni, le definizioni di versione e l'ambiente di rilascio e la possibilità di accodare una nuova versione.
vso.release_manage Versione (lettura, scrittura, esecuzione e gestione) Concede la possibilità di leggere, aggiornare ed eliminare artefatti di versione, incluse le versioni, le definizioni di versione e l'ambiente di rilascio e la possibilità di accodare e approvare una nuova versione.
File protetti vso.securefiles_read File protetti (lettura) Concede la possibilità di leggere file protetti.
vso.securefiles_write File protetti (lettura, creazione) Concede la possibilità di leggere e creare file sicuri.
vso.securefiles_manage File protetti (lettura, creazione e gestione) Concede la possibilità di leggere, creare e gestire file sicuri.
Sicurezza vso.security_manage Sicurezza (gestione) Concede la possibilità di leggere, scrivere e gestire le autorizzazioni di sicurezza.
Connessioni al servizio vso.serviceendpoint Endpoint servizio (lettura) Concede la possibilità di leggere gli endpoint di servizio.
vso.serviceendpoint_query Endpoint servizio (lettura e query) Concede la possibilità di leggere ed eseguire query sugli endpoint del servizio.
vso.serviceendpoint_manage Endpoint servizio (lettura, query e gestione) Concede la possibilità di leggere, eseguire query e gestire gli endpoint di servizio.
Impostazioni vso.settings Impostazioni (lettura) Concede la possibilità di leggere le impostazioni.
vso.settings_write Impostazioni (lettura e scrittura) Concede la possibilità di creare e leggere le impostazioni.
Simboli vso.symbols Simboli (lettura) Concede la possibilità di leggere i simboli.
vso.symbols_write Simboli (lettura e scrittura) Concede la possibilità di leggere e scrivere simboli.
vso.symbols_manage Simboli (lettura, scrittura e gestione) Concede la possibilità di leggere, scrivere e gestire i simboli.
Gruppi di attività vso.taskgroups_read Gruppi di attività (lettura) Concede la possibilità di leggere i gruppi di attività.
vso.taskgroups_write Gruppi di attività (lettura, creazione) Concede la possibilità di leggere e creare gruppi di attività.
vso.taskgroups_manage Gruppi di attività (lettura, creazione e gestione) Concede la possibilità di leggere, creare e gestire gruppi di attività.
Team Dashboard vso.dashboards Dashboard del team (lettura) Concede la possibilità di leggere le informazioni del dashboard del team.
vso.dashboards_manage Dashboard del team (gestione) Concede la possibilità di gestire le informazioni del dashboard del team.
Gestione dei test vso.test Gestione dei test (lettura) Concede la possibilità di leggere piani di test, case, risultati e altri artefatti correlati alla gestione dei test.
vso.test_write Gestione dei test (lettura e scrittura) Concede la possibilità di leggere, creare e aggiornare piani di test, case, risultati e altri artefatti correlati alla gestione dei test.
Thread vso.threads_full Thread di richiesta pull Concede la possibilità di leggere e scrivere per eseguire il pull dei thread di commento delle richieste.
Token vso.tokens Token di autorizzazione delegati Concede la possibilità di gestire i token di autorizzazione delegati agli utenti.
vso.tokenadministration Amministrazione istration dei token Concede la possibilità di gestire (visualizzare e revocare) i token esistenti agli amministratori dell'organizzazione.
Profilo utente vso.profile Profilo utente (lettura) Concede la possibilità di leggere il profilo, gli account, le raccolte, i progetti, i team e altri artefatti dell'organizzazione di primo livello.
vso.profile_write Profilo utente (scrittura) Concede la possibilità di scrivere nel profilo.
Gruppi di variabili vso.variablegroups_read Gruppi di variabili (lettura) Concede la possibilità di leggere gruppi di variabili.
vso.variablegroups_write Gruppi di variabili (lettura, creazione) Concede la possibilità di leggere e creare gruppi di variabili.
vso.variablegroups_manage Gruppi di variabili (lettura, creazione e gestione) Concede la possibilità di leggere, creare e gestire gruppi di variabili.
Wiki vso.wiki Wiki (lettura) Concede la possibilità di leggere wiki, pagine wiki e allegati wiki. Concede inoltre la possibilità di cercare pagine wiki.
vso.wiki_write Wiki (lettura e scrittura) Concede la possibilità di leggere, creare e aggiornare wiki, pagine wiki e allegati wiki.
Elementi di lavoro vso.work Elementi di lavoro (lettura) Concede la possibilità di leggere elementi di lavoro, query, lavagne, percorsi di aree e iterazioni e altri metadati correlati al rilevamento degli elementi di lavoro. Concede inoltre la possibilità di eseguire query, cercare elementi di lavoro e ricevere notifiche sugli eventi degli elementi di lavoro tramite hook del servizio.
vso.work_write Elementi di lavoro (lettura e scrittura) Concede la possibilità di leggere, creare e aggiornare elementi di lavoro e query, aggiornare i metadati della scheda, l'area di lettura e le iterazioni percorsi di altri metadati correlati di rilevamento degli elementi di lavoro, eseguire query e ricevere notifiche sugli eventi degli elementi di lavoro tramite hook del servizio.
vso.work_full Elementi di lavoro (completo) Concede l'accesso completo a elementi di lavoro, query, backlog, piani e metadati di rilevamento degli elementi di lavoro. Offre anche la possibilità di ricevere notifiche sugli eventi degli elementi di lavoro tramite hook del servizio.
Rappresentazione utente user_impersonation Rappresentazione utente Avere accesso completo alle API REST di Visual Studio Team Services. Richiedi e/o consenti questo ambito con cautela perché è molto potente!