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 |
---|---|---|---|---|
Aplicativo interativo do lado do cliente (REST) | 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 |
Aplicativo interativo do lado do cliente (bibliotecas de cliente) | 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 |
Aplicativo 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 |
Aplicativo Web OAuth interativo | Aplicativo Web baseado em GUI que requer o consentimento do usuário | Painel da Web personalizado exibindo resumos de build | OAuth | sample |
Aplicativo não interativo do lado do cliente | 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 |
PAT (token de acesso pessoal) | Token de portador para acessar seus próprios recursos | Use seu PAT no lugar de sua senha para solicitações REST. Não é ideal para aplicações de construção. | Pats | docs |
Aplicativo de servidor | 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 |
Aplicativo de entidades de serviço | 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 |
Extensão da Web | Extensão Azure DevOps Services | Extensão de cartões ágeis | SDK da Extensão Web do VSS | sample |
Para obter mais informações, consulte os seguintes artigos:
- Sobre segurança e identidade.
- Autenticação OAuth
- Entidades de serviço e identidades gerenciadas
- Bibliotecas de cliente do Azure DevOps
- Extensões do Azure DevOps
- Visão geral da proteção de dados do 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 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.