Introducción a la Biblioteca de autenticación de Microsoft (MSAL)Overview of the Microsoft Authentication Library (MSAL)

La Biblioteca de autenticación de Microsoft (MSAL) permite que los desarrolladores adquieran tokens desde la Plataforma de identidad de Microsoft para autenticar usuarios y acceder a API web protegidas.The Microsoft Authentication Library (MSAL) enables developers to acquire tokens from the Microsoft identity platform in order to authenticate users and access secured web APIs. Se puede usar para ofrecer acceso seguro a Microsoft Graph, otras API de Microsoft, API web de terceros o su propia API web.It can be used to provide secure access to Microsoft Graph, other Microsoft APIs, third-party web APIs, or your own web API. MSAL es compatible con muchas arquitecturas y plataformas de aplicación distintas, incluidas .NET, JavaScript, Java, Python, Android e iOS.MSAL supports many different application architectures and platforms including .NET, JavaScript, Java, Python, Android, and iOS.

MSAL ofrece varias formas de obtener tokens, con una API coherente para una variedad de plataformas.MSAL gives you many ways to get tokens, with a consistent API for a number of platforms. Usar MSAL brinda las ventajas siguientes:Using MSAL provides the following benefits:

  • No es necesario usar directamente las bibliotecas de OAuth ni el código en el protocolo en la aplicación.No need to directly use the OAuth libraries or code against the protocol in your application.
  • Adquiere tokens en nombre de un usuario o en nombre de una aplicación (cuando se aplica a la plataforma).Acquires tokens on behalf of a user or on behalf of an application (when applicable to the platform).
  • Mantiene una caché de tokens y actualiza los tokens en nombre del usuario cuando están por expirar.Maintains a token cache and refreshes tokens for you when they are close to expire. No es necesario que el usuario controle la expiración de los tokens.You don't need to handle token expiration on your own.
  • Lo ayuda a especificar para qué publico quiere que la aplicación inicie sesión (su organización, varias organizaciones, cuentas personales, profesionales y educativas de Microsoft, identidades sociales con Azure AD B2C, usuarios en nubes soberanas y nacionales).Helps you specify which audience you want your application to sign in (your org, several orgs, work, and school and Microsoft personal accounts, social identities with Azure AD B2C, users in sovereign, and national clouds).
  • Lo ayuda a configurar la aplicación a partir de archivos de configuración.Helps you set up your application from configuration files.
  • Lo ayuda a solucionar problemas de la aplicación mediante la exposición de excepciones, registros y telemetría que requieren acción.Helps you troubleshoot your app by exposing actionable exceptions, logging, and telemetry.

Escenarios y tipos de aplicaciónApplication types and scenarios

Con MSAL, es posible adquirir un token desde varios tipos de aplicación: aplicaciones web, API web, aplicaciones de una sola página (JavaScript), aplicaciones móviles y nativas y aplicaciones de lado servidor y demonios.Using MSAL, a token can be acquired from a number of application types: web applications, web APIs, single-page apps (JavaScript), mobile and native applications, and daemons and server-side applications.

MSAL se puede usar en muchos escenarios de aplicación, incluidos:MSAL can be used in many application scenarios, including the following:

Lenguajes y plataformasLanguages and frameworks

BibliotecaLibrary Plataformas y marcos compatiblesSupported platforms and frameworks
MSAL para AndroidMSAL for Android AndroidAndroid
MSAL AngularMSAL Angular Aplicaciones de una sola página con los marcos de trabajo Angular y Angular.jsSingle-page apps with Angular and Angular.js frameworks
MSAL para iOS y macOSMSAL for iOS and macOS iOS y macOSiOS and macOS
Java de MSALMSAL Java Windows, macOS, LinuxWindows, macOS, Linux
MSAL.jsMSAL.js Marcos de trabajo JavaScript/TypeScript, como Vue.js, Ember.js, o Durandal.jsJavaScript/TypeScript frameworks such as Vue.js, Ember.js, or Durandal.js
MSAL.NETMSAL.NET .NET Framework, .NET Core, Xamarin Android, Xamarin iOS, Plataforma universal de Windows.NET Framework, .NET Core, Xamarin Android, Xamarin iOS, Universal Windows Platform
MSAL NodeMSAL Node Aplicaciones web con Express, aplicaciones de escritorio con Electron y aplicaciones de consola multiplataformaWeb apps with Express, desktop apps with Electron, Cross-platform console apps
MSAL PythonMSAL Python Windows, macOS, LinuxWindows, macOS, Linux
MSAL ReactMSAL React Aplicaciones de una sola página con React y bibliotecas basadas en React (Next.js y Gatsby.js)Single-page apps with React and React-based libraries (Next.js, Gatsby.js)

Diferencias entre ADAL y MSALDifferences between ADAL and MSAL

La Biblioteca de autenticación de Active Directory (ADAL) se integra con el punto de conexión de Azure AD para desarrolladores (v1.0), donde MSAL se integra con la Plataforma de identidad de Microsoft.Active Directory Authentication Library (ADAL) integrates with the Azure AD for developers (v1.0) endpoint, where MSAL integrates with the Microsoft identity platform. El punto de conexión v1.0 admite cuentas profesionales, pero no cuentas personales.The v1.0 endpoint supports work accounts, but not personal accounts. El punto de conexión v2.0 es la unión de las cuentas personales y de las cuentas profesionales de Microsoft en un único sistema de autenticación.The v2.0 endpoint is the unification of Microsoft personal accounts and work accounts into a single authentication system. Con MSAL además puede obtener autenticaciones para Azure AD B2C.Additionally, with MSAL you can also get authentications for Azure AD B2C.

Para información más específica, lea sobre la migración a MSAL.NET desde ADAL.NET y la migración a MSAL.js desde ADAL.js.For more specific information, read about migrating to MSAL.NET from ADAL.NET and migrating to MSAL.js from ADAL.js.