Partilhar via


Autorizar o acesso às APIs REST com o OAuth 2.0

Serviços de DevOps do Azure

Saiba como autenticar os utilizadores da sua aplicação Web para acesso à API REST, para que a sua aplicação não continue a pedir nomes de utilizador e palavras-passe.

Nota

  • As orientações a seguir destinam-se aos usuários dos Serviços de DevOps do Azure, já que o OAuth 2.0 não é suportado no Servidor de DevOps do Azure. As Bibliotecas de Cliente são uma série de pacotes criados especificamente para estender a funcionalidade do Servidor de DevOps do Azure. Para usuários locais, recomendamos o uso de Bibliotecas de Cliente, Autenticação do Windows ou tokens de acesso pessoal (PATs) para autenticar em nome de um usuário.
  • Para obter mais informações, consulte o exemplo de GitHub OAuth em C#.

Sobre o OAuth 2.0

Os Serviços de DevOps do Azure usam o protocolo OAuth 2.0 para autorizar seu aplicativo para um usuário e gerar um token de acesso. Utilize este token quando chamar as APIs REST a partir da aplicação. Quando chamar as APIs dos Serviços do Azure DevOps para esse utilizador, utilize o token de acesso desse utilizador. Os tokens de acesso expiram, portanto, atualize o token de acesso se expirar.

Processo para obter autorização.

Modelos OAuth disponíveis

Importante

Ao criar um novo aplicativo OAuth 2.0, use o Microsoft Entra ID OAuth. O Azure DevOps OAuth 2.0 está programado para ser preterido em 2026. A partir de março de 2025, deixaremos de aceitar novos aplicativos OAuth do Azure DevOps. Saiba mais em nossa postagem no blog.

Microsoft Entra ID OAuth

Construir sobre uma nova plataforma pode ser avassalador. Neste guia para criar um aplicativo Microsoft Entra para Azure DevOps, coletamos links úteis que podem ser úteis para iniciar o processo de desenvolvimento de aplicativos OAuth no Microsoft Entra. Para as pessoas que migram do Azure DevOps OAuth para o Microsoft Entra OAuth, oferecemos dicas a serem consideradas durante seu esforço de migração.

Azure DevOps OAuth

Para aplicativos existentes, consulte o guia do aplicativo Azure DevOps OAuth. Você também pode gerenciar quais aplicativos do Azure DevOps estão autorizados a acessar seus recursos.

Âmbitos

Espera-se que os desenvolvedores especifiquem quais escopos exigem de seus usuários. Os mesmos escopos estão disponíveis em ambos os modelos OAuth. Os escopos a seguir estão disponíveis somente por meio de fluxos delegados (em nome do usuário). Para descobrir quais escopos você precisa para seu aplicativo, procure sob o scopes cabeçalho na página Referência da API para cada API que você está usando.

Alguns âmbitos podem incluir outros âmbitos, por exemplo, vso.code_manage inclui vso.code_write. Por exemplo, muitos escopos herdam de vso.profile. Considere qual é o número mínimo de escopos necessários ao solicitar o consentimento de escopo dos usuários.

Nota

Os escopos habilitam apenas o acesso a APIs REST e selecionam pontos de extremidade Git. O acesso à API SOAP não é suportado.

Categoria Âmbito Nome Descrição Herda de
Segurança Avançada vso.advsec AdvancedSecurity (ler) Concede a capacidade de ler alertas, instâncias de resultados, instâncias de resultados de análise.
vso.advsec_write AdvancedSecurity (leitura e gravação) Concede a capacidade de carregar análises em sarif vso.advsec
vso.advsec_manage AdvancedSecurity (ler, escrever e gerir) Concede a capacidade de carregar análises em sarif vso.advsec_write
Pools de agentes vso.agentpools Pools de agentes (ler) Concede a capacidade de exibir tarefas, pools, filas, agentes e trabalhos atualmente em execução ou concluídos recentemente para agentes.
vso.agentpools_manage Pools de agentes (ler, gerenciar) Concede a capacidade de gerenciar pools, filas e agentes. vso.agentpools
vso.environment_manage Ambiente (ler, gerenciar) Concede a capacidade de gerenciar pools, filas, agentes e ambientes. vso.agentpools_manage
Análise vso.analytics Análise (ler) Concede a capacidade de consultar dados de análise.
Auditoria vso.auditlog Log de auditoria (ler) Concede a capacidade de ler o log de auditoria aos usuários.
vso.auditstreams_manage Fluxos de auditoria (ler) Concede aos usuários a capacidade de gerenciar fluxos de auditoria. vso.auditlog
Compilação vso.build Construir (ler) Concede a capacidade de acessar artefatos de compilação, incluindo resultados de compilação, definições e solicitações, e a capacidade de receber notificações sobre eventos de compilação por meio de ganchos de serviço. vso.hooks_write
vso.build_execute Construir (ler e executar) Concede a capacidade de acessar artefatos de compilação, incluindo resultados de compilação, definições e solicitações, e a capacidade de enfileirar uma compilação, atualizar propriedades de compilação e a capacidade de receber notificações sobre eventos de compilação por meio de ganchos de serviço. vso.build
Código vso.code Código (lido) Concede a capacidade de ler código-fonte e metadados sobre confirmações, conjuntos de alterações, ramificações e outros artefatos de controle de versão. Também concede a capacidade de pesquisar código e ser notificado sobre eventos de controle de versão por meio de ganchos de serviço. vso.hooks_write
vso.code_write Código (leitura e gravação) Concede a capacidade de ler, atualizar e excluir código-fonte, acessar metadados sobre confirmações, conjuntos de alterações, ramificações e outros artefatos de controle de versão. Também concede a capacidade de criar e gerenciar solicitações pull e revisões de código e receber notificações sobre eventos de controle de versão por meio de ganchos de serviço. vso.code
vso.code_manage Código (ler, escrever e gerir) Concede a capacidade de ler, atualizar e excluir código-fonte, acessar metadados sobre confirmações, conjuntos de alterações, ramificações e outros artefatos de controle de versão. Também concede a capacidade de criar e gerenciar repositórios de código, criar e gerenciar solicitações pull e revisões de código, e receber notificações sobre eventos de controle de versão por meio de ganchos de serviço. vso.code_write
vso.code_full Código (completo) Concede acesso total ao código-fonte, metadados sobre confirmações, conjuntos de alterações, ramificações e outros artefatos de controle de versão. Também concede a capacidade de criar e gerenciar repositórios de código, criar e gerenciar solicitações pull e revisões de código, e receber notificações sobre eventos de controle de versão por meio de ganchos de serviço. Também inclui suporte limitado para APIs OM de cliente. vso.code_manage
vso.code_status Código (status) Concede a capacidade de ler e escrever o status da solicitação commit e pull.
Servidor conectado vso.connected_server Servidor conectado Concede a capacidade de acessar os pontos de extremidade necessários a partir de um servidor conectado local.
Elegibilidades vso.entitlements Direitos (Ler) Fornece acesso somente leitura ao ponto de extremidade de direitos de licenciamento para obter direitos de conta.
vso.memberentitlementmanagement MemberEntitlement Management (ler) Concede a capacidade de ler usuários, suas licenças, bem como projetos e extensões que eles podem acessar.
vso.memberentitlementmanagement_write MemberEntitlement Management (gravação) Concede a capacidade de gerenciar usuários, suas licenças, bem como projetos e extensões que eles podem acessar. vso.memberentitlementmanagement
Extensões vso.extension Extensões (ler) Concede a capacidade de ler extensões instaladas. vso.profile
vso.extension_manage Extensões (ler e gerenciar) Concede a capacidade de instalar, desinstalar e executar outras ações administrativas em extensões instaladas. vso.extension
vso.extension.data Dados de extensão (ler) Concede a capacidade de ler dados (configurações e documentos) armazenados pelas extensões instaladas. vso.profile
vso.extension.data_write Dados de extensão (leitura e gravação) Concede a capacidade de ler e gravar dados (configurações e documentos) armazenados pelas extensões instaladas. vso.extension.data
Conexões do Github vso.githubconnections Conexões do GitHub (ler) Concede a capacidade de ler conexões do GitHub e dados de repositórios do GitHub.
vso.githubconnections_manage Conexões GitHub (ler e gerenciar) Concede a capacidade de ler e gerenciar conexões do GitHub e dados de repositórios do GitHub vso.githubconnections
Gráfico & identidade vso.graph Gráfico (ler) Concede a capacidade de ler informações de usuário, grupo, escopo e associação de grupo.
vso.graph_manage Gráfico (gerenciar) Concede a capacidade de ler informações de usuário, grupo, escopo e associação de grupo, além de adicionar usuários, grupos e gerenciar associações de grupo. vso.graph
vso.identity Identidade (ler) Concede a capacidade de ler identidades e grupos.
vso.identity_manage Identidade (gerenciar) Concede a capacidade de ler, escrever e gerenciar identidades e grupos. vso.identity
Grupo de Máquinas vso.machinegroup_manage Grupo de implantação (ler, gerenciar) Fornece a capacidade de gerenciar grupos de implantação e pools de agentes. vso.agentpools_manage
Marketplace vso.gallery Marketplace Concede acesso de leitura a itens e editores públicos e privados. vso.profile
vso.gallery_acquire Marketplace (aquisição) Concede acesso de leitura e a capacidade de adquirir itens. vso.gallery
vso.gallery_publish Marketplace (publicar) Concede acesso de leitura e a capacidade de carregar, atualizar e compartilhar itens. vso.gallery
vso.gallery_manage Marketplace (gerenciar) Concede acesso de leitura e a capacidade de publicar e gerenciar itens e editores. vso.gallery_publish
Notificações vso.notification Notificações (ler) Fornece acesso de leitura a assinaturas e metadados de eventos, incluindo valores de campo filtráveis. vso.profile
vso.notification_write Notificações (gravação) Fornece acesso de leitura e gravação a assinaturas e acesso de leitura a metadados de eventos, incluindo valores de campo filtráveis. vso.notification
vso.notification_manage Notificações (gerenciar) Fornece acesso de leitura, gravação e gerenciamento a assinaturas e acesso de leitura a metadados de eventos, incluindo valores de campo filtráveis. vso.notification_write
vso.notification_diagnostics Notificações (diagnóstico) Fornece acesso a logs de diagnóstico relacionados a notificações e fornece a capacidade de habilitar diagnósticos para assinaturas individuais. vso.notification
Empacotamento vso.packaging Embalagem (ler) Concede a capacidade de ler feeds e pacotes. vso.profile
vso.packaging_write Embalagem (leitura e escrita) Concede a capacidade de criar e ler feeds e pacotes. vso.packaging
vso.packaging_manage Empacotamento (leitura, gravação e gerenciamento) Concede a capacidade de criar, ler, atualizar e excluir feeds e pacotes. vso.packaging_write
Recursos de pipeline vso.pipelineresources_use Recursos de pipeline (uso) Concede a capacidade de aprovar a solicitação de um pipeline para usar um recurso protegido: pool de agentes, ambiente, fila, repositório, arquivos seguros, conexão de serviço e grupo de variáveis.
vso.pipelineresources_manage Recursos de pipeline (usar e gerenciar) Concede a capacidade de gerenciar um recurso protegido ou a solicitação de um pipeline para usar um recurso protegido: pool de agentes, ambiente, fila, repositório, arquivos seguros, conexão de serviço e grupo de variáveis. vso.pipelineresources_manage
Projeto e Equipa vso.project Projeto e equipa (ler) Concede a capacidade de ler projetos e equipes.
vso.project_write Projeto e equipa (ler e escrever) Concede a capacidade de ler e atualizar projetos e equipes. vso.project
vso.project_manage Projeto e equipa (ler, escrever e gerir) Concede a capacidade de criar, ler, atualizar e excluir projetos e equipes. vso.project_write
Lançamento vso.release Lançamento (ler) Concede a capacidade de ler artefatos de versão, incluindo versões, definições de liberação e ambiente de versão. vso.profile
vso.release_execute Liberar (ler, gravar e executar) Concede a capacidade de ler e atualizar artefatos de versão, incluindo versões, definições de versão e ambiente de versão, e a capacidade de enfileirar uma nova versão. vso.release
vso.release_manage Release (ler, escrever, executar e gerenciar) Concede a capacidade de ler, atualizar e excluir artefatos de versão, incluindo versões, definições de versão e ambiente de versão, e a capacidade de enfileirar e aprovar uma nova versão. vso.release_manage
Ficheiros Seguros vso.securefiles_read Arquivos seguros (ler) Concede a capacidade de ler arquivos seguros.
vso.securefiles_write Arquivos seguros (ler, criar) Concede a capacidade de ler e criar arquivos seguros. vso.securefiles_read
vso.securefiles_manage Arquivos seguros (ler, criar e gerenciar) Concede a capacidade de ler, criar e gerenciar arquivos seguros. vso.securefiles_write
Segurança vso.security_manage Segurança (gerenciar) Concede a capacidade de ler, escrever e gerenciar permissões de segurança.
Ligações de Serviço vso.serviceendpoint Pontos de extremidade de serviço (ler) Concede a capacidade de ler pontos de extremidade de serviço. vso.profile
vso.serviceendpoint_query Pontos de extremidade de serviço (leitura e consulta) Concede a capacidade de ler e consultar pontos de extremidade de serviço. vso.serviceendpoint
vso.serviceendpoint_manage Pontos de extremidade de serviço (ler, consultar e gerenciar) Concede a capacidade de ler, consultar e gerenciar pontos de extremidade de serviço. vso.serviceendpoint_query
Ganchos de serviço vso.hooks Ganchos de serviço (ler) Concede a capacidade de ler assinaturas e metadados de gancho de serviço, incluindo eventos, consumidores e ações suportados. (Não é mais público.) vso.profile
vso.hooks_write Ganchos de serviço (leitura e gravação) Concede a capacidade de criar e atualizar assinaturas de gancho de serviço e ler metadados, incluindo eventos, consumidores e ações suportados. (Não é mais público.) vso.hooks
vso.hooks_interact Ganchos de serviço (interagir) Concede a capacidade de interagir e executar ações em eventos recebidos por meio de ganchos de serviço. (Não é mais público.) vso.profile
Definições vso.settings Configurações (ler) Concede a capacidade de ler configurações.
vso.settings_write Configurações (leitura e gravação) Concede a capacidade de criar e ler configurações.
Símbolos vso.symbols Símbolos (ler) Concede a capacidade de ler símbolos. vso.profile
vso.symbols_write Símbolos (leitura e escrita) Concede a capacidade de ler e escrever símbolos. vso.symbols
vso.symbols_manage Símbolos (ler, escrever e gerir) Concede a capacidade de ler, escrever e gerenciar símbolos. vso.symbols_write
Grupos de Tarefas vso.taskgroups_read Grupos de Tarefas (ler) Concede a capacidade de ler grupos de tarefas.
vso.taskgroups_write Grupos de Tarefas (ler, criar) Concede a capacidade de ler e criar grupos de tarefas. vso.taskgroups_read
vso.taskgroups_manage Grupos de Tarefas (ler, criar e gerir) Concede a capacidade de ler, criar e gerenciar grupos de tarefas. vso.taskgroups_write
Painel de Equipa vso.dashboards Painéis da equipe (ler) Concede a capacidade de ler informações do painel da equipe.
vso.dashboards_manage Painéis de equipe (gerenciar) Concede a capacidade de gerenciar informações do painel da equipe. vso.dashboards
Gestão de Testes vso.test Gestão de testes (ler) Concede a capacidade de ler planos de teste, casos, resultados e outros artefatos relacionados ao gerenciamento de testes. vso.profile
vso.test_write Gestão de testes (leitura e escrita) Concede a capacidade de ler, criar e atualizar planos de teste, casos, resultados e outros artefatos relacionados ao gerenciamento de testes. vso.test
Tópicos vso.threads_full Tópicos de RP Concede a capacidade de ler e gravar para extrair threads de comentários de solicitação.
Tokens vso.tokens Tokens de autorização delegada Concede a capacidade de gerenciar tokens de autorização delegados aos usuários.
vso.tokenadministration Administração de Tokens Concede a capacidade de gerenciar (exibir e revogar) tokens existentes aos administradores da organização.
Perfil de Utilizador vso.profile Perfil de utilizador (ler) Concede a capacidade de ler seu perfil, contas, coleções, projetos, equipes e outros artefatos organizacionais de nível superior.
vso.profile_write Perfil de usuário (gravação) Concede a capacidade de escrever para o seu perfil. vso.profile
Grupos de variáveis vso.variablegroups_read Grupos de variáveis (ler) Concede a capacidade de ler grupos de variáveis.
vso.variablegroups_write Grupos de variáveis (ler, criar) Concede a capacidade de ler e criar grupos de variáveis. vso.variablegroups_read
vso.variablegroups_manage Grupos de variáveis (ler, criar e gerir) Concede a capacidade de ler, criar e gerenciar grupos de variáveis. vso.variablegroups_write
Wiki vso.wiki Wiki (ler) Concede a capacidade de ler wikis, páginas wiki e anexos wiki. Também concede a capacidade de pesquisar páginas wiki.
vso.wiki_write Wiki (ler e escrever) Concede a capacidade de ler, criar e atualizar wikis, páginas wiki e anexos wiki. vso.wiki
Itens de trabalho vso.work Itens de trabalho (ler) Concede a capacidade de ler itens de trabalho, consultas, quadros, caminhos de área e iterações e outros metadados relacionados ao rastreamento de item de trabalho. Também concede a capacidade de executar consultas, pesquisar itens de trabalho e receber notificações sobre eventos de item de trabalho por meio de ganchos de serviço. vso.hooks_write
vso.work_write Itens de trabalho (leitura e gravação) Concede a capacidade de ler, criar e atualizar itens de trabalho e consultas, atualizar metadados do quadro, área de leitura e caminhos de iterações outros metadados relacionados ao rastreamento de item de trabalho, executar consultas e receber notificações sobre eventos de item de trabalho por meio de ganchos de serviço. vso.work
vso.work_full Itens de trabalho (completos) Concede acesso total a itens de trabalho, consultas, listas de pendências, planos e metadados de controle de item de trabalho. Também fornece a capacidade de receber notificações sobre eventos de item de trabalho por meio de ganchos de serviço. vso.work_write
Representação do usuário user_impersonation Representação do usuário Tenha acesso total às APIs REST do Visual Studio Team Services. Solicite e/ou consinta este escopo com cautela, pois ele é muito poderoso!

Perguntas mais frequentes (FAQ)

P: Posso usar o OAuth com meu aplicativo de celular?

R: Não. Os Serviços de DevOps do Azure dão suporte apenas ao fluxo do servidor Web, portanto, não há como implementar o OAuth, pois você não pode armazenar o segredo do aplicativo com segurança.

P: Posso usar o OAuth com os pontos de extremidade SOAP e APIs REST?

R: Não. O OAuth só é suportado nas APIs REST.