Escenarios y recomendaciones de autenticación

Si tiene una aplicación web o una API que se ejecuta en Azure App Service, puede restringir el acceso a ella en función de la identidad de los usuarios o aplicaciones que lo soliciten. App Service ofrece varias soluciones de autenticación para ayudarle a lograr este objetivo. En este artículo, obtendrá información sobre las diferentes opciones de autenticación, sus ventajas y desventajas, y qué solución de autenticación usar para escenarios específicos.

Soluciones de autenticación

  • Autenticación integrada en Azure App Service: le permite proporcionar inicio de sesión a los usuarios y acceso a los datos escribiendo una cantidad mínima de código, o directamente sin código en su aplicación web, API RESTful o back-end móvil. Está integrado directamente en la plataforma y no requiere ningún idioma, biblioteca, experiencia en seguridad ni ningún código en particular para usar.
  • La Biblioteca de autenticación de Microsoft (MSAL) permite que los desarrolladores adquieran tokens de seguridad desde la Plataforma de identidad de Microsoft para autenticar usuarios y acceder a API web protegidas. Disponible para varias plataformas y marcos compatibles, se trata de bibliotecas de uso general que se pueden usar en varios entornos hospedados. Los desarrolladores también pueden integrarse con varios proveedores de inicio de sesión, como Microsoft Entra, Facebook, Google, Twitter.
  • Microsoft.Identity.Web: Una biblioteca de nivel superior que envuelve MSAL.NET y proporciona un conjunto de abstracciones de ASP.NET Core que simplifican la adición de compatibilidad de autenticación a aplicaciones web y API web que se integran con la plataforma de identidad de Microsoft. Asimismo, proporciona una cómoda capa de API de una sola superficie que une ASP.NET Core, su middleware de autenticación y MSAL.NET. Esta biblioteca se puede usar en aplicaciones de varios entornos hospedados. Puede integrarse con varios proveedores de inicio de sesión, como Microsoft Entra, Facebook, Google, Twitter.

Recomendaciones de escenarios

La siguiente tabla enumera cada solución de autenticación y algunos factores importantes para cuándo deba utilizarla.

Método de autenticación Cuándo se usa
Autenticación de App Service integrada * Quiere tener menos código para administrar.
* El idioma y los SDK de la aplicación no proporcionan autorización ni inicio de sesión de usuario.
* No tiene la capacidad de modificar el código de la aplicación (por ejemplo, al migrar aplicaciones heredadas).
* Debe controlar la autenticación a través de la configuración y no del código.
* Debe iniciar sesión en usuarios externos o sociales.
Biblioteca de autenticación de Microsoft (MSAL) * Necesita una solución de código en uno de varios lenguajes diferentes
* Debe agregar una lógica de autorización personalizada.
* Debe admitir el consentimiento incremental.
* Necesita información sobre el usuario que ha iniciado sesión en su código.
* Debe iniciar sesión en usuarios externos o sociales.
* La aplicación debe controlar la expiración del token de acceso sin que el usuario tenga que volver a iniciar sesión.
Microsoft.Identity.Web * Tiene una aplicación de ASP.NET Core.
* Necesita compatibilidad con el inicio de sesión único en el IDE durante el desarrollo local.
* Debe agregar una lógica de autorización personalizada.
* Debe admitir el consentimiento incremental.
* Necesita acceso condicional en la aplicación web.
* Necesita información sobre el usuario que ha iniciado sesión en su código.
* Debe iniciar sesión en usuarios externos o sociales.
* La aplicación debe controlar la expiración del token de acceso sin que el usuario tenga que volver a iniciar sesión.

En la tabla siguiente se enumeran los escenarios de autenticación y las soluciones de autenticación que usaría.

Escenario Autenticación integrada de App Service Biblioteca de autenticación de Microsoft Microsoft.Identity.Web
¿Necesita una manera rápida y sencilla de limitar el acceso a los usuarios de su organización?
¿No se puede modificar el código de la aplicación (escenario de migración de aplicación)?
¿El lenguaje y las bibliotecas de la aplicación admiten el inicio de sesión/autorización del usuario?
Aunque pueda usar una solución de código, ¿prefiere no usar bibliotecas? ¿No quieres la carga de mantenimiento?
¿La aplicación web necesita proporcionar consentimiento incremental?
¿Necesita acceso condicional en la aplicación web?
¿La aplicación debe controlar la expiración del token de acceso sin que el usuario tenga que iniciar sesión de nuevo (utilizando un token de actualización)?
¿Necesita una lógica de autorización personalizada o de información sobre el usuario que ha iniciado sesión?
¿Necesita iniciar sesión con usuarios de proveedores de identidad externos o sociales?
¿Tiene una aplicación ASP.NET Core?
¿Tiene una aplicación de página única o una aplicación web estática?
¿Desea la integración de Visual Studio?
¿Necesita compatibilidad con el inicio de sesión único en el IDE durante el desarrollo local?

Pasos siguientes

Para empezar a usar la autenticación de App Service integrada, lea:

Para empezar a usar la Biblioteca de Autenticación de Microsoft (MSAL), lea:

Para empezar a usar Microsoft.Identity.Web, lea:

Obtener más información sobre Autenticación y autorización integradas de App Service