Microsoft 身份验证库 (MSAL) 的概述

借助 Microsoft 身份验证库 (MSAL),开发人员能够从 Microsoft 标识平台获取令牌,以便对用户进行身份验证并访问受保护的 Web API。 它可用于提供对 Microsoft Graph、其他 Microsoft API、第三方 Web API 或你自己的 Web API 的安全访问。 MSAL 支持许多不同的应用程序体系结构和平台,包括 .NET、JavaScript、Java、Python、Android 和 iOS。

MSAL 为你提供了许多获取令牌的方法,将一致的 API 用于许多平台。 使用 MSAL 具有以下好处:

  • 无需直接在应用程序中对协议使用 OAuth 库或代码。
  • 代表用户或代表应用程序获取令牌(如果适用于平台)。
  • 维护令牌缓存,并在即将过期时为你刷新令牌。 你不需要自行处理令牌过期。
  • 帮助你指定你希望应用程序登录的受众(你的组织、若干组织、工作和学校帐户、Azure AD B2C 的社交标识、主权云和国家云中的用户)。
  • 可帮助你通过配置文件设置应用程序。
  • 可显示可操作异常、日志和遥测,从而帮助你对应用进行故障排除。

应用程序类型和方案

通过使用 MSAL,可从许多应用程序类型获取令牌:Web 应用程序、Web API、单页应用 (JavaScript)、移动和本机应用程序,以及守护程序和服务器端应用程序。

可以在许多应用程序方案中使用 MSAL,包含以下方案:

语言和框架

支持的平台和框架
适用于 Android 的 MSAL Android
MSAL Angular 采用 Angular 和 Angular.js 框架的单页应用
适用于 iOS 和 macOS 的 MSAL iOS 和 macOS
MSAL Go(预览版) Windows、macOS、Linux
MSAL Java Windows、macOS、Linux
MSAL.js JavaScript/TypeScript 框架,例如 Vue.js、Ember.js 或 Durandal.js
MSAL.NET .NET Framework、.NET Core、Xamarin Android、Xamarin iOS、通用 Windows 平台
MSAL Node Express 的 Web 应用、Electron 的桌面应用、跨平台控制台应用
MSAL Python Windows、macOS、Linux
MSAL React 采用 React 和基于 React 的库(Next.js、Gatsby.js)的单页应用

ADAL 和 MSAL 之间的差异

Active Directory 身份验证库 (ADAL) 与适用于开发人员的 Azure AD (v1.0) 终结点集成,其中 MSAL 与 Microsoft 标识平台集成。 此外,借助 MSAL,还可以获取 Azure AD B2C 的身份验证。

有关更多具体信息,请参阅从 ADAL.NET 迁移到 MSAL.NET从 ADAL.js 迁移到 MSAL.js