Elección del mecanismo de autenticación correcto

Azure DevOps Services | Azure DevOps Server 2022 : Azure DevOps Server 2019 | TFS 2018

En el caso de las aplicaciones que interactúan con Azure DevOps Services, debe autenticarse para obtener acceso a recursos como las API REST. En este artículo se proporcionan instrucciones para ayudarle a elegir el mecanismo de autenticación adecuado para la aplicación.

En la tabla siguiente se describe el mecanismo de autenticación recomendado para varios tipos de aplicación. Consulte las siguientes descripciones básicas, ejemplos y ejemplos de código para empezar.

Tipo de aplicación Descripción Ejemplo Mecanismo de autenticación Ejemplos de código
Lado cliente interactivo (REST) Aplicación cliente que permite la interacción del usuario que llama a las API REST de Azure DevOps Services Aplicación de consola que enumera proyectos en una organización Biblioteca de autenticación de Microsoft (MSAL) sample
Cliente interactivo (biblioteca cliente) Aplicación cliente que permite la interacción del usuario que llama a bibliotecas cliente de Azure DevOps Services Aplicación de consola que enumera los errores asignados al usuario actual Bibliotecas de cliente sample
JavaScript interactivo Aplicación JavaScript basada en GUI Aplicación de página única de AngularJS que muestra información del proyecto para un usuario Biblioteca de autenticación de Microsoft para JavaScript (MSAL JS) sample
Un token de acceso personal (PAT) Token de portador para acceder a sus propios recursos Use su PAT en lugar de la contraseña. Palmaditas
Lado cliente no interactivo Aplicación del lado cliente solo de texto sin encabezado Aplicación de consola que muestra todos los errores asignados a un usuario Perfil de dispositivo sample
Aplicación interactiva del lado cliente dirigida a Azure DevOps Aplicación cliente que permite la interacción del usuario autentica a los usuarios de Azure DevOps Aplicación de consola que permite a los usuarios de Azure DevOps ver errores asignados Biblioteca cliente (interactiva y autenticación de Windows) sample
Web interactiva Aplicación web basada en GUI que requiere consentimiento del usuario Panel web personalizado que muestra resúmenes de compilación Azure DevOps OAuth sample
Entidades de servicio o identidades administradas Aplicación con acceso a los recursos de Azure DevOps de la organización Función de Azure para crear elementos de trabajo Entidades de servicio e identidades administradas sample
aplicación de Azure DevOps Server Azure DevOps Server aplicación mediante la biblioteca OM de cliente Azure DevOps Server extensión que muestra paneles de errores de equipo Bibliotecas cliente sample
extensión de Azure DevOps Services extensión de Azure DevOps Services Tarjetas ágiles SDK de extensión web de VSS sample

Para obtener información general sobre los conceptos de seguridad e identidad en Azure DevOps, consulte Acerca de la seguridad y la identidad. Para más información sobre cómo almacenamos sus credenciales, consulte Almacenamiento de credenciales para Azure DevOps.

Habilitar la autenticación básica de IIS invalida el uso de PAT para Azure DevOps Server

Para más información, consulte Uso de la autenticación básica de IIS con Azure DevOps local.

Preguntas más frecuentes (P+F)

P: ¿Por qué no puede una de mis cuentas de servicio acceder a la API REST de Azure DevOps?

R: Es posible que su cuenta de servicio no haya "materializado". Dado que el inicio de sesión no es posible con una cuenta de servicio que no tenga permisos de inicio de sesión interactivos, consulte esta solución alternativa.

P: Estoy realizando una aplicación interactiva del lado cliente. ¿Debo usar Azure DevOps Services bibliotecas cliente o Azure DevOps Services API REST?

R: Se recomienda usar Azure DevOps Services bibliotecas cliente a través de las API REST al acceder a los recursos de Azure DevOps Services. Son más sencillos y fáciles de mantener cuando se producen cambios de versión en los puntos de conexión REST. Si falta la funcionalidad de las bibliotecas cliente, MSAL es el mejor mecanismo de autenticación que se usará con nuestras API REST.

P: ¿Es esta guía solo para Azure DevOps Services o también es relevante para los usuarios locales Azure DevOps Server?

R: Esta guía es principalmente para Azure DevOps Services usuarios. Las bibliotecas cliente son una serie de paquetes creados específicamente para ampliar Azure DevOps Server funcionalidad. Para los usuarios locales, se recomienda usar las bibliotecas cliente, la autenticación de Windows o los tokens de acceso personal (PAT) para autenticarse para un usuario.

P: ¿Qué ocurre si quiero que mi aplicación se autentique con Azure DevOps Server y Azure DevOps Services?

R: El procedimiento recomendado es tener diferentes rutas de autenticación para Azure DevOps Server y Azure DevOps Services. Puede usar requestContext para averiguar cuál está presionando y, a continuación, usar el mejor mecanismo para cada uno. En su lugar, si desea una solución unificada, los PAT funcionan para ambos.