Compartir a través de


Elección del mecanismo de autenticación correcto

Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2019

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 describen los conceptos de autenticación sugeridos que se deben tener en cuenta para distintos escenarios de aplicación. Consulte las descripciones, ejemplos y ejemplos de código que lo acompañan para ayudarle a empezar.

Tipo de aplicación Descripción Ejemplo Mecanismo de autenticación Ejemplos de código
Aplicación interactiva del lado cliente (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 OAuth con la biblioteca de autenticación de Microsoft (MSAL) sample
Aplicación interactiva del lado cliente (bibliotecas cliente) Aplicación cliente que permite que el usuario interactúe llamando a las bibliotecas cliente de Azure DevOps Services Aplicación de consola que enumera los errores asignados al usuario actual OAuth con bibliotecas de cliente sample
Aplicación del lado cliente no interactiva Aplicación del lado cliente solo de texto sin encabezado Aplicación de consola que muestra todos los errores asignados a un usuario OAuth con flujo de Perfil de dispositivo sample
Un token de acceso personal (PAT) Token de portador para acceder a sus propios recursos Use el PAT en lugar de la contraseña para las llamadas REST ad hoc. No es ideal para aplicaciones. Palmaditas ejemplos
Aplicación de servidor 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
Entidad de servicio o identidad administrada Aplicación con su propia identidad Función de Azure para crear elementos de trabajo Entidades de servicio e identidades administradas sample
Extensión web Extensión de Azure DevOps Services Extensión agile Cards SDK de extensión web de VSS sample

Sugerencia

La autenticación basada en Entra es nuestra recomendación para los desarrolladores que buscan integrar con Azure DevOps Services, si interactúan con las cuentas de Microsoft Entra. Las aplicaciones de ejemplo de OAuth de esta tabla usan plataforma de identidad de Microsoft Entra para el desarrollo de aplicaciones.
Para la autenticación con cuentas de Microsoft (MSA) o usuarios de Azure DevOps Server, consulte nuestras bibliotecas de cliente o PAT.
Infórmate más en nuestro blog sobre cómo estamos reduciendo el uso de PAT en nuestra plataforma.

Preguntas más frecuentes (P+F)

P: ¿Por qué no puede mi cuenta de servicio acceder a la API rest de Azure DevOps?

R: Es posible que su cuenta de servicio no haya "materializado". Las cuentas de servicio sin permisos de inicio de sesión interactivo no pueden iniciar sesión. Para obtener más información, consulte esta solución alternativa.

P: ¿Debo usar las bibliotecas cliente de Azure DevOps Services o las API REST de Azure DevOps Services para mi aplicación interactiva del lado cliente?

R: Se recomienda usar bibliotecas cliente de Azure DevOps Services a través de las API REST para acceder a los recursos de Azure DevOps Services. Son más sencillos y fáciles de mantener cuando cambian las versiones del punto de conexión REST. Si las bibliotecas cliente carecen de cierta funcionalidad, use MSAL para la autenticación 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 los usuarios de Azure DevOps Services. Para los usuarios de Azure Devops Server, se recomienda usar las bibliotecas cliente, la autenticación de Windows o los tokens de acceso personal (PAT) para la autenticación.

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 rutas de autenticación independientes para Azure DevOps Server y Azure DevOps Services. Puede usar requestContext para determinar a qué servicio accede y, a continuación, aplicar el mecanismo de autenticación adecuado. Si prefiere una solución unificada, los PAT funcionan para ambos.