Compartir vía


Autenticación nativa

Se aplica a: Círculo blanco con un símbolo X gris. Inquilinos de personal Círculo verde con un símbolo de marca de verificación blanca. Inquilinos externos (obtener más información)

La autenticación nativa de Microsoft Entra te permite tener un control total sobre el diseño de las experiencias de inicio de sesión de la aplicación móvil y de escritorio. A diferencia de las soluciones basadas en explorador, la autenticación nativa permite crear pantallas de autenticación visualmente atractivas y perfectas que se combinan a la perfección en la interfaz de la aplicación’. Con este enfoque, puede personalizar completamente la interfaz de usuario, incluidos los elementos de diseño, la colocación del logotipo y el diseño, lo que garantiza un aspecto coherente y de marca.

El proceso de inicio de sesión de la aplicación estándar, que se basa en la autenticación delegada por el explorador, suele dar lugar a una transición perjudicial durante la autenticación. Se redirige temporalmente a los usuarios a un explorador del sistema para la autenticación, y solo vuelven a la aplicación cuando se haya completado el inicio de sesión.

Aunque la autenticación delegada por explorador ofrece ventajas como vectores de ataque reducidos y soporte con el inicio de sesión único (SSO), ofrece opciones limitadas de personalización de la interfaz de usuario y una experiencia de usuario deficiente.

Métodos de autenticación disponibles

Actualmente, la autenticación nativa admite el proveedor de identidades de cuenta local para dos métodos de autenticación:

  • Correo electrónico con inicio de sesión de código de acceso de un solo uso (OTP).
  • Inicio de sesión de correo electrónico y contraseña con compatibilidad con el autoservicio de restablecimiento de contraseña (SSPR).

La autenticación nativa aún no admite proveedores de identidades federados, como identidades sociales o empresariales.

Cuándo usar la autenticación nativa

Cuando se trata de implementar la autenticación para aplicaciones móviles y de escritorio en el identificador externo, tienes dos opciones:

  • Autenticación delegada por explorador hospedada por Microsoft.
  • Autenticación nativa basada en el SDK totalmente personalizado.

El enfoque que elija depende de los requisitos específicos de la aplicación. Aunque cada aplicación tiene necesidades de autenticación únicas, hay algunas consideraciones comunes que debe tener en cuenta. Tanto si elige la autenticación nativa como la autenticación delegada por el explorador, el identificador externo de Microsoft Entra admite ambos.

En la tabla siguiente se comparan los dos métodos de autenticación para ayudarle a decidir después la opción adecuada para la aplicación.

Autenticación delegada por explorador Autenticación nativa
Experiencia de autenticación de usuario Los usuarios se llevan a un explorador del sistema o a un explorador incrustado para que la autenticación solo se redirija a la aplicación cuando se complete el inicio de sesión. Este método se recomienda si el redireccionamiento no afecta negativamente a la experiencia del usuario final. Los usuarios disponen de un recorrido de registro e inicio de sesión nativo y enriquecido sin salir de la aplicación.
Experiencia de personalización Las opciones de personalización de marca y personalización están disponibles como una característica lista para usar. Este enfoque centrado en la API ofrece un alto nivel de personalización, lo que proporciona una amplia flexibilidad en el diseño y la capacidad de crear interacciones y flujos personalizados.
Aplicabilidad Adecuado para las aplicaciones de personal, B2B y B2C, se puede usar para aplicaciones nativas, aplicaciones de página única y aplicaciones web. En el caso de las aplicaciones de primera entidad del cliente, cuando la misma entidad opera el servidor de autorización y la aplicación y el usuario las percibe como la misma entidad.
Trabajo en directo Bajo. Úselo directamente fuera de la caja. Alto. El desarrollador compila, posee y mantiene la experiencia de autenticación.
Esfuerzo de mantenimiento Bajo. Alto. Para cada característica que Microsoft publica, debe actualizar el SDK para usarlo.
Seguridad La opción más segura. La responsabilidad de seguridad se comparte con los desarrolladores y es necesario seguir los procedimientos recomendados. Es propenso a ataques de suplantación de identidad (phishing).
Lenguajes y marcos admitidos
  • ASP.NET Core
  • Android (Kotlin, Java)
  • iOS/macOS (Swift, Objective-C)
  • JavaScript
  • React
  • Angular
  • Nodejs
  • Python
  • Java
  • Android (Kotlin, Java)
  • iOS/macOS (Swift, Objective-C)
Para otros lenguajes y plataformas, puedes usar nuestra API de autenticación nativa.

Disponibilidad de características

En la tabla siguiente se muestra la disponibilidad de características para la autenticación nativa y delegada por el explorador.

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 ✔️ ✔️
Autoservicio de restablecimiento de contraseña (SSPR) ✔️ ✔️
Proveedor de notificaciones personalizado ✔️ ✔️
Inicio de sesión del proveedor de identidades de Social ✔️
Autenticación multifactor con código de acceso de un solo uso (OTP) de correo electrónico ✔️
Autenticación multifactor con SMS ✔️
Inicio de sesión único (SSO) ✔️

Habilitación de la autenticación nativa

En primer lugar, revisa las directrices anteriores sobre cuándo usar la autenticación nativa. A continuación, habla internamente con el propietario, el diseñador y el equipo de desarrollo de la aplicación para determinar si es necesaria la autenticación nativa.

Si el equipo ha determinado que la autenticación nativa es necesaria para la aplicación, sigue estos pasos para habilitar la autenticación nativa en el Centro de administración Microsoft Entra:

  1. Inicie sesión en el centro de administración de Microsoft Entra.
  2. Ve a Aplicaciones>Registros de aplicaciones y selecciona la aplicación.
  3. Ve a Autenticación y selecciona la pestaña Configuración.
  4. Selecciona el campo Permitir autenticación nativa y Permitir flujo de cliente público.

Una vez que haya habilitado Permitir autenticación nativa y Permitir flujo de cliente público, actualiza el código de configuración en consecuencia.

Actualización del código de configuración

Después de habilitar las API de autenticación nativas en el Centro de administración, todavía debes actualizar el código de configuración de la aplicación para admitir flujos de autenticación nativos para Android o iOS/macOS. Para ello, debes añadir el campo tipo de desafío a la configuración. Los tipos de desafío son listas de valores que la aplicación usa para notificar a Microsoft Entra sobre el método de autenticación que admite. Puedes encontrar más información sobre los tipos de desafíos de autenticación nativos aquí. Si la configuración no se actualiza para integrar componentes de autenticación nativos, los SDK de autenticación nativa y las API no se podrán usar.

Riesgo de habilitar la autenticación nativa

La autenticación nativa de Microsoft Entra no admite el inicio de sesión único (SSO) y la responsabilidad de garantizar la seguridad de la aplicación reside en el equipo de desarrollo.

Cómo usar la autenticación nativa

Puedes crear aplicaciones que utilicen autenticación nativa utilizando nuestras API de autenticación nativa o el SDK de la biblioteca de autenticación de Microsoft (MSAL) para Android e iOS/macOS. Siempre que sea posible, se recomienda usar el SDK de MSAL para agregar autenticación nativa a las aplicaciones.

Para obtener más información sobre ejemplos y tutoriales de autenticación nativa, consulta la tabla siguiente.

Lenguaje/
Plataforma
Guía de ejemplo de código Guía de compilación e integración
Android (Kotlin) Inicio de sesión de usuarios Inicio de sesión de usuarios
iOS (Swift) Inicio de sesión de usuarios Inicio de sesión de usuarios
macOS (Swift) Inicio de sesión de usuarios Inicio de sesión de usuarios

Si planeas crear una aplicación en un marco actualmente no compatible con MSAL, puedes usar nuestra API de autenticación. Para más información, siga este artículo de referencia de API.