Elección de un enfoque de autenticación

Se aplica a: Círculo verde con un símbolo de marca de verificación blanca que indica que el siguiente contenido se aplica a los inquilinos externos. Inquilinos externos (más información)

La autenticación delegada por el explorador y la autenticación nativa son dos enfoques de inicio de sesión en Id. externa de Microsoft Entra que definen cómo la aplicación orientada al cliente controla la experiencia de autenticación. Ambos enfoques son totalmente compatibles, pero difieren en la experiencia del usuario, el esfuerzo de desarrollo y el modelo de seguridad. Comprender estas diferencias le ayuda a elegir el enfoque que mejor se adapte a la aplicación.

Con la autenticación delegada del navegador, la aplicación redirige a los usuarios a una página de inicio de sesión hospedada por Microsoft en un navegador del sistema o una vista web incrustada. Microsoft Entra controla todo el flujo de autenticación y la aplicación recibe tokens una vez completado el inicio de sesión. Este enfoque requiere código mínimo y ofrece personalización de marca integrada.

Con la autenticación native, se crea la experiencia de interfaz de usuario de inicio de sesión directamente en la aplicación mediante el SDK de Biblioteca de autenticación de Microsoft (MSAL) o la API de autenticación nativa. Los usuarios nunca abandonan la aplicación. Puede controlar todos los aspectos de la interfaz de usuario, pero su equipo es responsable de crear y mantener la experiencia de autenticación.

Cuándo usar la autenticación delegada por el explorador

La autenticación delegada por el explorador es la mejor opción cuando:

  • La aplicación puede dar cabida a una redirección del explorador durante el inicio de sesión sin interrumpir la experiencia del usuario.
  • Prefiere reducir el esfuerzo de implementación y mantenimiento. Microsoft administra automáticamente las actualizaciones de seguridad y las nuevas características.
  • Quiere admitir la gama más amplia de plataformas y lenguajes con menos código.

Para obtener disponibilidad de características específica, consulte la comparación de características.

Cuándo usar la autenticación nativa

La autenticación nativa es la mejor opción cuando:

  • Necesita control total sobre la interfaz de usuario de inicio de sesión para que se combine sin problemas en la aplicación.
  • Una redirección del explorador interrumpiría la experiencia del usuario para la plataforma de destino.
  • Su organización opera tanto la aplicación como el servidor de autorización, y los usuarios las perciben como una sola entidad.
  • El equipo de desarrollo puede asumir el esfuerzo de implementación adicional y el mantenimiento continuo.

Para obtener disponibilidad de características específica, consulte la comparación de características.

Comparación de características

En la tabla siguiente se muestran las características disponibles en cada enfoque.

Feature Autenticación delegada por explorador Autenticación nativa
Registro e inicio de sesión con código de acceso de un solo uso (OTP) de correo electrónico ✔️ ✔️
Registro e inicio de sesión con correo electrónico y contraseña ✔️ ✔️
Iniciar sesión con correo electrónico y contraseña puede usar el nombre de usuario (alias) y la contraseña ✔️ ✔️
Autoservicio de restablecimiento de contraseña (SSPR) ✔️ ✔️
Proveedor de reclamaciones personalizado ✔️ ✔️
Autenticación multifactor con código de acceso de un solo uso (OTP) de correo electrónico ✔️ ✔️
Autenticación multifactor con código de un solo uso (OTP) enviado por SMS ✔️ ✔️
Inicio de sesión con proveedores de identidades sociales (Apple, Facebook y Google)1 ✔️ ✔️
Inicio de sesión único (SSO)2 ✔️ ✔️

1 Incluso con la autenticación nativa, el inicio de sesión social sigue usando una ventana del explorador para el paso del proveedor de identidades.

2 La autenticación nativa admite el inicio de sesión único solo para vistas web embebidas. El inicio de sesión único entre aplicaciones a través de exploradores del sistema no está disponible con la autenticación nativa.

Lenguajes y marcos admitidos

Se admiten los siguientes lenguajes y marcos para cada enfoque.

Approach Lenguajes y marcos admitidos
Autenticación delegada por explorador
  • ASP.NET Core
  • Android (Kotlin, Java)
  • iOS/macOS (Swift, Objective-C)
  • JavaScript
  • React
  • Angular
  • Node.js
  • Python
  • Java
Autenticación nativa
  • Android (Kotlin, Java)
  • iOS/macOS (Swift, Objective-C)
  • Web (JavaScript, React, Angular)
Para otros lenguajes y plataformas, puede usar la API de autenticación nativa.

Consideraciones de seguridad

La autenticación delegada por explorador es la opción más segura. Microsoft administra la superficie de inicio de sesión, lo que reduce la exposición de la aplicación a ataques de suplantación de identidad y recopilación de credenciales.

Con la autenticación nativa, el equipo de desarrollo comparte la responsabilidad de seguridad con Microsoft Entra. El equipo debe seguir los procedimientos recomendados de seguridad para controlar las credenciales de usuario. Antes de elegir la autenticación nativa, analice las implicaciones de seguridad con el propietario de la empresa y el equipo de desarrollo de la aplicación.

Pasos siguientes

Después de decidir un enfoque, registre la aplicación para continuar con la integración o vuelva a la guía de planeación para la secuencia completa de pasos:

Autenticación delegada por el explorador:

Autenticación nativa: