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 orientação para ajudá-lo a escolher o mecanismo de autenticação correto para seu aplicativo.

A tabela a seguir descreve o mecanismo de autenticação recomendado para vários tipos de aplicativo. Confira as descrições básicas, exemplos e exemplos de código a seguir para 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 APIs REST dos Serviços de DevOps do Azure 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 bibliotecas de cliente dos Serviços de DevOps do Azure 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
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 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 uma cartilha sobre conceitos de segurança e identidade no Azure DevOps, consulte Sobre segurança e identidade. Para saber mais sobre como armazenamos suas credenciais, consulte Armazenamento de credenciais para o Azure DevOps.

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 uma das minhas contas 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". Como não é possível entrar com uma conta de serviço que não tenha permissões de entrada interativa, confira esta solução alternativa.

P: Estou fazendo um aplicativo interativo do lado do cliente. Devo usar bibliotecas de cliente Azure DevOps Services ou APIs REST Azure DevOps Services?

R: É recomendável usar Azure DevOps Services bibliotecas de clientes em APIs REST ao acessar Azure DevOps Services recursos. Eles são mais simples e mais facilmente mantidos quando ocorrem alterações de versão em nossos pontos de extremidade REST. Se a funcionalidade estiver ausente nas bibliotecas de clientes, a MSAL será o melhor mecanismo de autenticação a ser usado 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: Essa orientação é principalmente para usuários Azure DevOps Services. As Bibliotecas de Clientes são uma série de pacotes criados especificamente para estender Azure DevOps Server funcionalidade. Para usuários locais, recomendamos usar as Bibliotecas de Cliente, a Autenticação do Windows ou os PATs (Tokens de Acesso Pessoal) para autenticar para um usuário.

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

R: A melhor prática é ter caminhos de autenticação diferentes para Azure DevOps Server e Azure DevOps Services. Você pode usar requestContext para descobrir qual está atingindo e, em seguida, usar o melhor mecanismo para cada um. Em vez disso, se você quiser uma solução unificada, os PATs funcionarão para ambos.