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, así que actualiza el token de acceso si ha expirado.

Process to get authorization.

Modelos de OAuth disponibles

Al crear una aplicación de OAuth 2.0, use OAuth id. de Microsoft Entra. Todavía se admite Azure DevOps OAuth 2.0, pero en este momento no estamos invirtiendo en este modelo.

Microsoft Entra ID OAuth

Al crear una aplicación OAuth de id. de Microsoft Entra, la aplicación emite tokens de Microsoft Entra, no tokens de acceso de Azure DevOps. Estos tokens tienen una duración estándar de una hora antes de la expiración.

Para más información, consulte los siguientes artículos.

Nota:

Al crear aplicaciones que usan otras API, asegúrese de seleccionar los ámbitos necesarios para esas API.

Azure DevOps OAuth

En el caso de las aplicaciones existentes, use la guía de OAuth de Azure DevOps. También puede administrar qué aplicaciones de Azure DevOps están autorizadas.

Ámbitos

Se espera que los desarrolladores especifiquen qué ámbitos requieren de sus usuarios. Los á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, code_manage incluye code_write. Tenga en cuenta cuál es el número mínimo de ámbitos que necesita al solicitar el consentimiento del ámbito de los usuarios.

Importante

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
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 (leer, administrar) Concede la capacidad de administrar grupos, colas y agentes.
vso.environment_manage Entorno (lectura, administración) Concede la capacidad de administrar grupos, colas, agentes y entornos.
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 Auditar Secuencias (leer) Concede la capacidad de administrar flujos de auditoría a los usuarios.
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.build_execute Compilación (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.
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.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_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_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_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 Conectar ed 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.
Extensiones vso.extension Extensiones (lectura) Concede la capacidad de leer extensiones instaladas.
vso.extension_manage Extensiones (leer y administrar) Concede la capacidad de instalar, desinstalar y realizar otras acciones administrativas en las extensiones instaladas.
vso.extension.data Datos de extensión (lectura) Concede la capacidad de leer datos (configuración y documentos) almacenados por extensiones instaladas.
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.
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.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.
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.
Marketplace vso.gallery Marketplace Concede acceso de lectura a elementos públicos y privados y publicadores.
vso.gallery_acquire Marketplace (adquirir) Concede acceso de lectura y la capacidad de adquirir elementos.
vso.gallery_publish Marketplace (publicación) Concede acceso de lectura y la capacidad de cargar, actualizar y compartir elementos.
vso.gallery_manage Marketplace (administrar) Concede acceso de lectura y la capacidad de publicar y administrar elementos y publicadores.
Notificaciones vso.notification Notificaciones (lectura) Proporciona acceso de lectura a suscripciones y metadatos de eventos, incluidos los valores de campo filtrables.
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_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_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.
Empaquetado vso.packaging Empaquetado (lectura) Concede la capacidad de leer fuentes y paquetes.
vso.packaging_write Empaquetado (lectura y escritura) Concede la capacidad de crear y leer fuentes y paquetes.
vso.packaging_manage Empaquetado (lectura, escritura y administración) Concede la capacidad de crear, leer, actualizar y eliminar fuentes y paquetes.
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.
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_manage Proyecto y equipo (lectura, escritura y administración) Concede la capacidad de crear, leer, actualizar y eliminar proyectos y equipos.
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.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_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.
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_manage Archivos seguros (leer, crear y administrar) Concede la capacidad de leer, crear y administrar archivos seguros.
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.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_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.
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.
Symbols vso.symbols Símbolos (lectura) Concede la capacidad de leer símbolos.
vso.symbols_write Símbolos (lectura y escritura) Concede la capacidad de leer y escribir símbolos.
vso.symbols_manage Símbolos (lectura, escritura y administración) Concede la capacidad de leer, escribir y administrar símbolos.
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_manage Grupos de tareas (leer, crear y administrar) Concede la capacidad de leer, crear y administrar grupos de tareas.
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.
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.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.
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 Token Administración istration 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.
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_manage Grupos de variables (leer, crear y administrar) Concede la capacidad de leer, crear y administrar grupos de variables.
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.
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.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_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.
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!