Compartir a través de


Autenticación nativa en el identificador externo de Microsoft Entra

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

La autenticación nativa de Microsoft Entra le permite tener control total sobre el diseño de su experiencia de inicio de sesión de aplicaciones móviles y de escritorio. A diferencia de las soluciones basadas en navegador, la autenticación nativa permite crear pantallas de autenticación visualmente atractivas y con precisión de píxeles que se integran perfectamente con la interfaz de tu 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. Los usuarios se redirigen temporalmente a un explorador del sistema para la autenticación, solo para volver a la aplicación una vez completado el inicio de sesión.

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

Métodos de autenticación disponibles

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

  • Correo electrónico con inicio de sesión mediante código de acceso de un solo uso (OTP).
  • Inicio de sesión con correo electrónico y contraseña con soporte para el restablecimiento de contraseña mediante autoservicio (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, tiene dos opciones:

  • Autenticación delegada por explorador hospedada por Microsoft.
  • Autenticación nativa con SDK completamente 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 son llevados a un navegador del sistema o a un navegador incrustado para autenticarse y luego ser redirigidos de nuevo 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 tienen un recorrido enriquecido, nativo de registro e inicio de sesión sin salir de la aplicación.
Experiencia de personalización Las opciones de marca y personalización gestionadas están disponibles como una característica de fábrica. 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.
Esfuerzo de llamada en directo Bajo. Úselo directamente al sacarlo de la caja. Alto. El desarrollador crea, 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
  • Reaccionar
  • Angular
  • Nodejs
  • Pitón
  • Java
  • Android (Kotlin, Java)
  • iOS/macOS (Swift, Objective-C)
Para otros lenguajes y plataformas, puede usar nuestra API de autenticación nativa.

Disponibilidad de funcionalidades

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 ✔️ ✔️
Restablecimiento de contraseña de autoservicio (SSPR) ✔️ ✔️
Proveedor de notificaciones personalizado ✔️ ✔️
Inicio de sesión del proveedor de identidades sociales ✔️
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, revise las directrices anteriores sobre cuándo usar la autenticación nativa. A continuación, tenga una explicación interna 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, siga estos pasos para habilitar la autenticación nativa en el Centro de administración de Microsoft Entra:

  1. Inicie sesión en el centro de administración de Microsoft Entra.
  2. Vaya a Registros>de aplicaciones y seleccione el registro de aplicaciones para el que desea habilitar los flujos de autenticación nativa y cliente público.
  3. En Administrar, seleccione Autenticación.
  4. En Configuración avanzada, permita flujos de cliente públicos:
    1. En Habilitar los siguientes flujos móviles y de escritorio , seleccione .
    2. En Habilitar autenticación nativa, seleccione .
  5. Seleccione el botón Guardar .

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 debe 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, debe agregar el campo tipo de desafío a la configuración. Los tipos de desafío son una lista de valores que la aplicación usa para notificar a Microsoft Entra sobre el método de autenticación que admite. Puede 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.

Uso de la autenticación nativa

Puede crear aplicaciones que usen la autenticación nativa mediante nuestras API de autenticación nativas o el SDK de la Biblioteca de autenticación de Microsoft (MSAL) para Android e iOS/macOS. Siempre que sea posible, se recomienda usar MSAL para agregar autenticación nativa a las aplicaciones.

Para obtener más información sobre ejemplos y tutoriales de autenticación nativa, consulte 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 planea crear una aplicación en un marco actualmente no compatible con MSAL, puede usar nuestra API de autenticación. Para más información, siga este artículo de referencia de API.