Scegliere il meccanismo di autenticazione giusto

Azure DevOps Services | Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018 - TFS 2013

Per le applicazioni che si interfacciano con Azure DevOps Services, è necessario eseguire l'autenticazione per ottenere l'accesso a risorse come le API REST. Si è consapevoli che Azure DevOps Services diversi modi per autenticare l'applicazione. Questo articolo fornisce indicazioni per scegliere l'autenticazione più giusta per l'applicazione. Nella tabella seguente viene descritto il meccanismo di autenticazione consigliato per diversi tipi di applicazione. Per iniziare, vedere le descrizioni di base, gli esempi e gli esempi di codice seguenti.

Tipo di applicazione Descrizione esempio Meccanismo di autenticazione Esempi di codice
Lato client interattivo (REST) Applicazione client, che consente l'interazione dell'utente, chiamando Azure DevOps Services API REST Applicazione console che enumera i progetti in un'organizzazione Microsoft Authentication Library (MSAL) Esempio
Lato client interattivo (libreria client) Applicazione client, che consente l'interazione dell'utente, chiamando Azure DevOps Services librerie client Applicazione console che enumera i bug assegnati all'utente corrente Librerie client Esempio
JavaScript interattivo Applicazione JavaScript basata su GUI App a pagina singola AngularJS che visualizza le informazioni sul progetto per un utente Microsoft Authentication Library per JavaScript (MSAL JS) Esempio
Token di accesso personale (PAT) Alternativa semplice ai normali token OAuth. Usare pat al posto della password. Carezze
Lato client non interattivo Applicazione sul lato client solo testo headless App console che visualizza tutti i bug assegnati a un utente Profilo del dispositivo Esempio
App lato client interattiva che ha come destinazione Azure DevOps L'applicazione client, che consente l'interazione dell'utente, Azure DevOps utenti Applicazione console che consente Azure DevOps utenti di visualizzare i bug assegnati Libreria client (autenticazione interattiva e Windows client) Esempio
Web interattivo Applicazione Web basata su interfaccia utente grafica Dashboard Web personalizzato che visualizza riepiloghi di compilazione Oauth Esempio
Azure DevOps Server app Azure DevOps Server'app con la libreria OM client Azure DevOps Server estensione che visualizza i dashboard dei bug del team Librerie client Esempio
Azure DevOps Services estensione Azure DevOps Services estensione Schede Agile VSS Web Extension SDK procedura di esempio

Nota

L Azure DevOps aPI non supporta l'accesso al servizio non interattivo tramite entità servizio.

Per altre informazioni sulla gestione della sicurezza e dell'identità, vedere Informazioni su sicurezza e identità.

Per altre informazioni su come archiviare le credenziali, vedere Archiviazione credenziali perAzure DevOps .

L'abilitazione dell'autenticazione di base di IIS invalida l'uso di PAT per Azure DevOps Server

Altre informazioni sull'uso dell'autenticazionedi base di IIS con Azure DevOps locale.

Domande frequenti (FAQ)

D: Perché uno degli account del servizio non può accedere all'API REST Azure DevOps?

A: L'account del servizio potrebbe non essere "materializzato". Poiché l'accesso non è possibile con un account del servizio che non dispone di autorizzazioni di accesso interattive, vedere questa soluzione.

D: Sto rendendo un'applicazione lato client interattiva. È consigliabile usare Azure DevOps Services librerie cliento Azure DevOps Services API REST?

A: È consigliabile usare Azure DevOps Services librerie client su API REST quando si accede Azure DevOps Services risorse. Sono più semplici e facili da gestire quando si verificano modifiche di versione agli endpoint REST. Se la funzionalità non è presente nelle librerie client, MSAL è il meccanismo di autenticazione migliore da usare con le API REST.

D: Queste indicazioni sono solo per Azure DevOps Services o sono rilevanti anche per gli utenti Azure DevOps Server locali?

A: Queste linee guida sono principalmente per Azure DevOps Services utenti. Le librerie client sono una serie di pacchetti creati appositamente per l'estensione Azure DevOps Server funzionalità. Per gli utenti locali, è consigliabile usare librerie client,Windows di autenticazione o token di accesso personale (PAT) per l'autenticazione per un utente.

D: Cosa succede se si vuole che l'applicazione esee Azure DevOps Server e Azure DevOps Services?

A: La procedura consigliata consiste nell'avere percorsi di autenticazione diversi per Azure DevOps Server e Azure DevOps Services. È possibile usare requestContext per scoprire quale si sta toccando e quindi usare il meccanismo migliore per ognuno. Se invece si vuole una soluzione unificata, i pacchetti PAT funzionano per entrambi.