Autorización del acceso a las API REST con OAuth 2.0

Azure DevOps Services

Obtenga información sobre cómo autenticar a los usuarios de la aplicación web para el acceso a la API REST, por lo que la aplicación no sigue pidiendo nombres de usuario y contraseñas.

Nota:

  • Las instrucciones siguientes están pensadas para los usuarios de Azure DevOps Services, ya que OAuth 2.0 no se admite en Azure DevOps Server. Las bibliotecas cliente son una serie de paquetes creados específicamente para ampliar Azure DevOps Server funcionalidad. Para los usuarios locales, se recomienda usar bibliotecas cliente, autenticación de Windows o tokens de acceso personal (PAT) para autenticarse en nombre de un usuario.
  • Para obtener más información, consulte el ejemplo de GitHub de OAuth de C#.

Acerca de OAuth 2.0

Azure DevOps Services usa el protocolo OAuth 2.0 para autorizar la aplicación para un usuario y generar un token de acceso. Use este token cuando llame a las API de REST desde su aplicación. Cuando llame a las API de Azure DevOps Services para ese usuario, use el token de acceso de ese usuario. Los tokens de acceso expiran, por lo que debe actualizar el token de acceso si ha expirado.

Proceso para obtener la autorización.

Modelos de OAuth disponibles

Importante

Al crear una nueva aplicación de OAuth 2.0, use Microsoft Entra ID OAuth. Azure DevOps OAuth 2.0 está programado para desuso en 2026. A partir de febrero de 2025, dejaremos de aceptar nuevas aplicaciones de OAuth de Azure DevOps. Obtenga más información en nuestra entrada de blog.

Microsoft Entra ID OAuth

La creación de una nueva plataforma puede ser abrumadora. En esta guía para crear una aplicación de Microsoft Entra para Azure DevOps, recopilamos vínculos útiles que podrían resultar útiles para iniciar el proceso de desarrollo de aplicaciones de OAuth en Microsoft Entra. Para los usuarios que migran desde Azure DevOps OAuth a Microsoft Entra OAuth, proporcionamos sugerencias útiles para tener en cuenta durante el esfuerzo de migración.

Azure DevOps OAuth

Para las aplicaciones existentes, consulte la guía de aplicaciones de OAuth de Azure DevOps. También puede administrar qué aplicaciones de Azure DevOps están autorizadas para acceder a los recursos.

Ámbitos

Se espera que los desarrolladores especifiquen qué ámbitos requieren de sus usuarios. Los mismos ámbitos están disponibles en ambos modelos de OAuth. Los siguientes ámbitos solo están disponibles a través de flujos delegados (en nombre del usuario). Para averiguar qué ámbitos necesita para la aplicación, busque en el encabezado de la scopes página Referencia de API para cada API que use.

Algunos ámbitos pueden ser inclusivos de otros ámbitos, por ejemplo, vso.code_manage incluye vso.code_write. Por ejemplo, muchos ámbitos heredan de vso.profile. Tenga en cuenta cuál es el número mínimo de ámbitos que necesita al solicitar el consentimiento del ámbito de los usuarios.

Nota:

Los ámbitos solo habilitan el acceso a las API REST y seleccionan puntos de conexión de Git. No se admite el acceso a la API SOAP.

Category Ámbito Nombre Descripción Se hereda de
Seguridad avanzada vso.advsec AdvancedSecurity (lectura) Concede la capacidad de leer alertas, instancias de resultado, instancias de resultado de análisis.
vso.advsec_write AdvancedSecurity (lectura y escritura) Concede la capacidad de cargar análisis en sarif vso.advsec
vso.advsec_manage AdvancedSecurity (lectura, escritura y administración) Concede la capacidad de cargar análisis en sarif vso.advsec_write
Grupos de agentes vso.agentpools Grupos de agentes (lectura) Concede la capacidad de ver tareas, grupos, colas, agentes y trabajos actualmente ejecutados o completados recientemente para agentes.
vso.agentpools_manage Grupos de agentes (lectura y administración) Concede la capacidad de administrar grupos, colas y agentes. vso.agentpools
vso.environment_manage Entorno (lectura, administración) Concede la capacidad de administrar grupos, colas, agentes y entornos. vso.agentpools_manage
Análisis vso.analytics Análisis (lectura) Concede la capacidad de consultar datos de análisis.
Auditoría vso.auditlog Registro de auditoría (lectura) Concede la capacidad de leer el registro de auditoría a los usuarios.
vso.auditstreams_manage Flujos de auditoría (lectura) Concede la capacidad de administrar flujos de auditoría a los usuarios. vso.auditlog
Compilar vso.build Compilar (leer) Concede la capacidad de acceder a los artefactos de compilación, incluidos los resultados de compilación, las definiciones y las solicitudes, y la capacidad de recibir notificaciones sobre eventos de compilación a través de enlaces de servicio. vso.hooks_write
vso.build_execute Compilar (lectura y ejecución) Concede la capacidad de acceder a los artefactos de compilación, incluidos los resultados de compilación, las definiciones y las solicitudes, y la capacidad de poner en cola una compilación, actualizar las propiedades de compilación y la capacidad de recibir notificaciones sobre eventos de compilación a través de enlaces de servicio. vso.build
Código vso.code Código (leer) Concede la capacidad de leer código fuente y metadatos sobre confirmaciones, conjuntos de cambios, ramas y otros artefactos de control de versiones. También concede la capacidad de buscar código y recibir notificaciones sobre eventos de control de versiones a través de enlaces de servicio. vso.hooks_write
vso.code_write Código (lectura y escritura) Concede la capacidad de leer, actualizar y eliminar código fuente, acceder a metadatos sobre confirmaciones, conjuntos de cambios, ramas y otros artefactos de control de versiones. También concede la capacidad de crear y administrar solicitudes de incorporación de cambios y revisiones de código y recibir notificaciones sobre eventos de control de versiones a través de enlaces de servicio. vso.code
vso.code_manage Código (lectura, escritura y administración) Concede la capacidad de leer, actualizar y eliminar código fuente, acceder a metadatos sobre confirmaciones, conjuntos de cambios, ramas y otros artefactos de control de versiones. También concede la capacidad de crear y administrar repositorios de código, crear y administrar solicitudes de incorporación de cambios y revisiones de código, y recibir notificaciones sobre eventos de control de versiones a través de enlaces de servicio. vso.code_write
vso.code_full Código (completo) Concede acceso completo al código fuente, los metadatos sobre confirmaciones, conjuntos de cambios, ramas y otros artefactos de control de versiones. También concede la capacidad de crear y administrar repositorios de código, crear y administrar solicitudes de incorporación de cambios y revisiones de código, y recibir notificaciones sobre eventos de control de versiones a través de enlaces de servicio. También incluye compatibilidad limitada con las API de OM de cliente. vso.code_manage
vso.code_status Código (estado) Concede la capacidad de leer y escribir la confirmación y el estado de la solicitud de incorporación de cambios.
Servidor conectado vso.connected_server Servidor conectado Concede la capacidad de acceder a los puntos de conexión necesarios desde un servidor conectado local.
Derechos vso.entitlements Derechos (lectura) Proporciona acceso de solo lectura al punto de conexión de derechos de licencia para obtener derechos de cuenta.
vso.memberentitlementmanagement Administración de MemberEntitlement (lectura) Concede la capacidad de leer usuarios, sus licencias, así como proyectos y extensiones a los que pueden acceder.
vso.memberentitlementmanagement_write Administración de MemberEntitlement (escritura) Concede la capacidad de administrar usuarios, sus licencias, así como proyectos y extensiones a los que pueden acceder. vso.memberentitlementmanagement
Extensiones vso.extension Extensiones (lectura) Concede la capacidad de leer extensiones instaladas. vso.profile
vso.extension_manage Extensiones (leer y administrar) Concede la capacidad de instalar, desinstalar y realizar otras acciones administrativas en las extensiones instaladas. vso.extension
vso.extension.data Datos de extensión (lectura) Concede la capacidad de leer datos (configuración y documentos) almacenados por extensiones instaladas. vso.profile
vso.extension.data_write Datos de extensión (lectura y escritura) Concede la capacidad de leer y escribir datos (configuración y documentos) almacenados por extensiones instaladas. vso.extension.data
Conexiones de GitHub vso.githubconnections Conexiones de GitHub (lectura) Concede la capacidad de leer las conexiones de GitHub y los datos de repositorios de GitHub.
vso.githubconnections_manage Conexiones de GitHub (leer y administrar) Concede la capacidad de leer y administrar conexiones de GitHub y los datos de repositorios de GitHub. vso.githubconnections
Graph & identity vso.graph Gráfico (lectura) Concede la capacidad de leer información de usuario, grupo, ámbito y pertenencia a grupos.
vso.graph_manage Gráfico (administrar) Concede la capacidad de leer información de usuarios, grupos, ámbito y pertenencia a grupos, y para agregar usuarios, grupos y administrar pertenencias a grupos. vso.graph
vso.identity Identidad (leer) Concede la capacidad de leer identidades y grupos.
vso.identity_manage Identidad (administrar) Concede la capacidad de leer, escribir y administrar identidades y grupos. vso.identity
Grupo de máquinas vso.machinegroup_manage Grupo de implementación (lectura, administración) Proporciona capacidad para administrar grupos de agentes y grupos de implementación. vso.agentpools_manage
Marketplace vso.gallery Marketplace Concede acceso de lectura a elementos públicos y privados y publicadores. vso.profile
vso.gallery_acquire Marketplace (adquirir) Concede acceso de lectura y la capacidad de adquirir elementos. vso.gallery
vso.gallery_publish Marketplace (publicación) Concede acceso de lectura y la capacidad de cargar, actualizar y compartir elementos. vso.gallery
vso.gallery_manage Marketplace (administrar) Concede acceso de lectura y la capacidad de publicar y administrar elementos y publicadores. vso.gallery_publish
Notificaciones vso.notification Notificaciones (lectura) Proporciona acceso de lectura a suscripciones y metadatos de eventos, incluidos los valores de campo filtrables. vso.profile
vso.notification_write Notificaciones (escritura) Proporciona acceso de lectura y escritura a suscripciones y acceso de lectura a metadatos de eventos, incluidos los valores de campo filtrables. vso.notification
vso.notification_manage Notificaciones (administrar) Proporciona acceso de lectura, escritura y administración a suscripciones y acceso de lectura a metadatos de eventos, incluidos los valores de campo filtrables. vso.notification_write
vso.notification_diagnostics Notificaciones (diagnósticos) Proporciona acceso a los registros de diagnóstico relacionados con la notificación y proporciona la capacidad de habilitar diagnósticos para suscripciones individuales. vso.notification
Empaquetado vso.packaging Empaquetado (lectura) Concede la capacidad de leer fuentes y paquetes. vso.profile
vso.packaging_write Empaquetado (lectura y escritura) Concede la capacidad de crear y leer fuentes y paquetes. vso.packaging
vso.packaging_manage Empaquetado (lectura, escritura y administración) Concede la capacidad de crear, leer, actualizar y eliminar fuentes y paquetes. vso.packaging_write
Recursos de canalización vso.pipelineresources_use Recursos de canalización (uso) Concede la capacidad de aprobar la solicitud de una canalización para usar un recurso protegido: grupo de agentes, entorno, cola, repositorio, archivos seguros, conexión de servicio y grupo de variables.
vso.pipelineresources_manage Recursos de canalización (uso y administración) Concede la capacidad de administrar un recurso protegido o la solicitud de una canalización para usar un recurso protegido: grupo de agentes, entorno, cola, repositorio, archivos seguros, conexión de servicio y grupo de variables. vso.pipelineresources_manage
Proyecto y equipo vso.project Proyecto y equipo (leer) Concede la capacidad de leer proyectos y equipos.
vso.project_write Proyecto y equipo (lectura y escritura) Concede la capacidad de leer y actualizar proyectos y equipos. vso.project
vso.project_manage Proyecto y equipo (lectura, escritura y administración) Concede la capacidad de crear, leer, actualizar y eliminar proyectos y equipos. vso.project_write
Versión vso.release Versión (lectura) Concede la capacidad de leer artefactos de versión, incluidas las versiones, las definiciones de versión y el entorno de versión. vso.profile
vso.release_execute Versión (lectura, escritura y ejecución) Concede la capacidad de leer y actualizar artefactos de versión, incluidas las versiones, las definiciones de versión y el entorno de versión, y la capacidad de poner en cola una nueva versión. vso.release
vso.release_manage Versión (lectura, escritura, ejecución y administración) Concede la capacidad de leer, actualizar y eliminar artefactos de versión, incluidas las versiones, las definiciones de versión y el entorno de versión, y la capacidad de poner en cola y aprobar una nueva versión. vso.release_manage
Proteger archivos vso.securefiles_read Archivos seguros (lectura) Concede la capacidad de leer archivos seguros.
vso.securefiles_write Archivos seguros (leer, crear) Concede la capacidad de leer y crear archivos seguros. vso.securefiles_read
vso.securefiles_manage Archivos seguros (leer, crear y administrar) Concede la capacidad de leer, crear y administrar archivos seguros. vso.securefiles_write
Seguridad vso.security_manage Seguridad (administrar) Concede la capacidad de leer, escribir y administrar permisos de seguridad.
Conexiones de servicio vso.serviceendpoint Puntos de conexión de servicio (lectura) Concede la capacidad de leer puntos de conexión de servicio. vso.profile
vso.serviceendpoint_query Puntos de conexión de servicio (lectura y consulta) Concede la capacidad de leer y consultar puntos de conexión de servicio. vso.serviceendpoint
vso.serviceendpoint_manage Puntos de conexión de servicio (lectura, consulta y administración) Concede la capacidad de leer, consultar y administrar puntos de conexión de servicio. vso.serviceendpoint_query
Enlaces de servicio vso.hooks Enlaces de servicio (lectura) Concede la capacidad de leer suscripciones y metadatos de enlace de servicio, incluidos eventos admitidos, consumidores y acciones. (Ya no es público). vso.profile
vso.hooks_write Enlaces de servicio (lectura y escritura) Concede la capacidad de crear y actualizar suscripciones de enlace de servicio y leer metadatos, incluidos eventos admitidos, consumidores y acciones. (Ya no es público). vso.hooks
vso.hooks_interact Enlaces de servicio (interacción) Concede la capacidad de interactuar y realizar acciones en eventos recibidos a través de enlaces de servicio. (Ya no es público). vso.profile
Configuración vso.settings Configuración (lectura) Concede la capacidad de leer la configuración.
vso.settings_write Configuración (lectura y escritura) Concede la capacidad de crear y leer la configuración.
Símbolos vso.symbols Símbolos (lectura) Concede la capacidad de leer símbolos. vso.profile
vso.symbols_write Símbolos (lectura y escritura) Concede la capacidad de leer y escribir símbolos. vso.symbols
vso.symbols_manage Símbolos (lectura, escritura y administración) Concede la capacidad de leer, escribir y administrar símbolos. vso.symbols_write
Grupos de tareas vso.taskgroups_read Grupos de tareas (lectura) Concede la capacidad de leer grupos de tareas.
vso.taskgroups_write Grupos de tareas (leer, crear) Concede la capacidad de leer y crear grupos de tareas. vso.taskgroups_read
vso.taskgroups_manage Grupos de tareas (leer, crear y administrar) Concede la capacidad de leer, crear y administrar grupos de tareas. vso.taskgroups_write
Panel de equipo vso.dashboards Paneles de equipo (lectura) Concede la capacidad de leer la información del panel del equipo.
vso.dashboards_manage Paneles de equipo (administrar) Concede la capacidad de administrar la información del panel del equipo. vso.dashboards
Administración de pruebas vso.test Administración de pruebas (lectura) Concede la capacidad de leer planes de prueba, casos, resultados y otros artefactos relacionados con la administración de pruebas. vso.profile
vso.test_write Administración de pruebas (lectura y escritura) Concede la capacidad de leer, crear y actualizar planes de prueba, casos, resultados y otros artefactos relacionados con la administración de pruebas. vso.test
Subprocesos vso.threads_full Subprocesos de pr Concede la capacidad de leer y escribir para extraer subprocesos de comentarios de solicitud.
Tokens vso.tokens Tokens de autorización delegados Concede a los usuarios la capacidad de administrar tokens de autorización delegados.
vso.tokenadministration Administración de tokens Concede la capacidad de administrar (ver y revocar) tokens existentes a los administradores de la organización.
Perfil de usuario vso.profile Perfil de usuario (leer) Concede la capacidad de leer el perfil, las cuentas, las colecciones, los proyectos, los equipos y otros artefactos de la organización de nivel superior.
vso.profile_write Perfil de usuario (escritura) Concede la capacidad de escribir en su perfil. vso.profile
Grupos de variables vso.variablegroups_read Grupos de variables (lectura) Concede la capacidad de leer grupos de variables.
vso.variablegroups_write Grupos de variables (leer, crear) Concede la capacidad de leer y crear grupos de variables. vso.variablegroups_read
vso.variablegroups_manage Grupos de variables (leer, crear y administrar) Concede la capacidad de leer, crear y administrar grupos de variables. vso.variablegroups_write
Wiki vso.wiki Wiki (lectura) Concede la capacidad de leer wikis, páginas wiki y datos adjuntos wiki. También concede la capacidad de buscar páginas wiki.
vso.wiki_write Wiki (lectura y escritura) Concede la capacidad de leer, crear y actualizar wikis, páginas wiki y datos adjuntos wiki. vso.wiki
Elementos de trabajo vso.work Elementos de trabajo (leer) Concede la capacidad de leer elementos de trabajo, consultas, paneles, rutas de acceso de área e iteraciones y otros metadatos relacionados con el seguimiento de elementos de trabajo. También concede la capacidad de ejecutar consultas, buscar elementos de trabajo y recibir notificaciones sobre eventos de elementos de trabajo a través de enlaces de servicio. vso.hooks_write
vso.work_write Elementos de trabajo (leer y escribir) Concede la capacidad de leer, crear y actualizar elementos de trabajo y consultas, actualizar metadatos del panel de actualización, áreas de lectura e iteraciones rutas de acceso a otros metadatos relacionados con el seguimiento de elementos de trabajo, ejecutar consultas y recibir notificaciones sobre eventos de elemento de trabajo a través de enlaces de servicio. vso.work
vso.work_full Elementos de trabajo (completos) Concede acceso total a elementos de trabajo, consultas, trabajos pendientes, planes y metadatos de seguimiento de elementos de trabajo. También proporciona la capacidad de recibir notificaciones sobre eventos de elementos de trabajo a través de enlaces de servicio. vso.work_write
Suplantación de usuario user_impersonation Suplantación de usuario Tener acceso completo a las API REST de Visual Studio Team Services. Solicitar o dar su consentimiento a este ámbito con precaución, ya que es muy eficaz!

Preguntas más frecuentes

Preguntas más frecuentes (P+F)

P: ¿Puedo usar OAuth con mi aplicación de teléfono móvil?

R: No. Azure DevOps Services solo admite el flujo de servidor web, por lo que no hay ninguna manera de implementar OAuth, ya que no se puede almacenar de forma segura el secreto de la aplicación.

P: ¿Puedo usar OAuth con los puntos de conexión SOAP y las API REST?

R: No. OAuth solo se admite en las API REST.