Compartilhar via


Escolher o mecanismo de autenticação certo

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

Para aplicativos que interfacem com Azure DevOps Services, você deve autenticar para obter acesso a recursos como APIs REST. Este artigo fornece diretrizes para ajudá-lo a escolher o mecanismo de autenticação correto para seu aplicativo.

A tabela a seguir descreve os mecanismos de autenticação recomendados para diferentes tipos de aplicativos. Consulte as descrições, exemplos e exemplos de código que acompanham para ajudá-lo a começar.

Tipo de aplicativo Descrição Exemplo Mecanismo de autenticação Exemplos de código
REST (lado do cliente interativo) Aplicativo cliente que permite a interação do usuário chamando Azure DevOps Services APIs REST Aplicativos de console enumerando projetos em uma organização MSAL (Biblioteca de Autenticação da Microsoft) sample
Lado do cliente interativo (biblioteca de clientes) Aplicativo cliente que permite a interação do usuário chamando Azure DevOps Services Bibliotecas de clientes Aplicativos de console enumerando bugs atribuídos ao usuário atual Bibliotecas de clientes sample
JavaScript interativo Aplicativo JavaScript baseado em GUI Aplicativo de página única angularJS exibindo informações de projeto para um usuário Biblioteca de Autenticação da Microsoft para JavaScript (MSAL JS) sample
PAT (token de acesso pessoal) Token de portador para acessar seus próprios recursos Use seu PAT no lugar de sua senha. Pats Pats
Lado do cliente não interativo Aplicativo do lado do cliente somente texto sem periférito Aplicativo de console exibindo todos os bugs atribuídos a um usuário Perfil do Dispositivo sample
Aplicativo interativo do lado do cliente direcionado ao Azure DevOps O aplicativo cliente que permite a interação do usuário autentica usuários do Azure DevOps Aplicativo de console que permite que usuários do Azure DevOps vejam bugs atribuídos Biblioteca de clientes (Interativa e autenticação do Windows) sample
Web interativa Aplicativo Web baseado em GUI que requer o consentimento do usuário Dashboard web personalizados exibindo resumos de build Azure DevOps OAuth sample
Entidades de serviço ou identidades gerenciadas Aplicativo com acesso aos recursos do Azure DevOps da organização Função do Azure para criar itens de trabalho Entidades de serviço e identidades gerenciadas sample
aplicativo Azure DevOps Server Azure DevOps Server aplicativo usando a biblioteca de OM do Cliente Azure DevOps Server extensão exibindo painéis de bugs da equipe Bibliotecas de cliente sample
Extensão Azure DevOps Services Extensão Azure DevOps Services Cartões Agile SDK da Extensão Web do VSS sample

Para obter mais informações, consulte os seguintes artigos:

Habilitar a Autenticação Básica do IIS invalida usando PATs para Azure DevOps Server

Para obter mais informações, consulte Usando a Autenticação Básica do IIS com o Azure DevOps local.

Perguntas frequentes (FAQs)

P: Por que minha conta de serviço não pode acessar a API REST do Azure DevOps?

R: Sua conta de serviço pode não ter "se materializado". As contas de serviço sem permissões de entrada interativa não podem entrar. Para obter mais informações, consulte esta solução alternativa para obter uma solução.

P: Devo usar Azure DevOps Services Client Libraries ou Azure DevOps Services APIs REST para meu aplicativo interativo do lado do cliente?

R: É recomendável usar Azure DevOps Services Client Libraries em APIs REST para acessar recursos do Azure DevOps Services. Eles são mais simples e fáceis de manter quando as versões do ponto de extremidade REST são alteradas. Se as bibliotecas de cliente não tiverem determinada funcionalidade, use a MSAL para autenticação com nossas APIs REST.

P: Essa orientação é apenas para Azure DevOps Services ou também é relevante para usuários locais Azure DevOps Server?

R: Essas diretrizes são principalmente para usuários do Azure DevOps Services. Para usuários do Azure Devops Server, recomendamos usar as Bibliotecas de Clientes, a Autenticação do Windows ou os PATs (Tokens de Acesso Pessoal) para autenticação.

P: E se eu quiser que meu aplicativo se autentique com Azure DevOps Server e Azure DevOps Services?

R: A prática recomendada é ter caminhos de autenticação separados para Azure DevOps Server e Azure DevOps Services. Você pode usar o requestContext para determinar qual serviço está acessando e, em seguida, aplicar o mecanismo de autenticação apropriado. Se você preferir uma solução unificada, os PATs funcionam para ambos.