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 库或针对协议编写代码。
  • 可以代表用户或应用程序获取令牌(如果适用于平台)。
  • 为你维护令牌缓存,并在它们即将过期时处理令牌刷新。
  • 可帮助你指定你希望应用程序登录的受众。 登录受众可以包括 Microsoft 个人帐户、Azure AD B2C 组织的社交标识、工作、学校、或主权和国家/地区云中的用户。
  • 可帮助你通过配置文件设置应用程序。
  • 可显示可操作异常、日志和遥测,从而帮助你对应用进行故障排除。
应用程序类型和方案 教程
单页应用 (JavaScript) 教程:将用户登录到 React 单页应用程序 (SPA)
Web 应用程序 教程:将用户登录到 ASP.NET Core Web 应用程序
Web API 教程:使用 ASP.NET Core API 实现受保护的终结点
移动和本机应用程序 代表以交互方式登录的用户调用 Web API 的移动应用程序
守护程序和服务器端应用程序 桌面/服务守护程序应用程序代表自己调用 Web API

MSAL 语言和框架

可以参考以下文档了解有关不同 MSAL 库的详细信息。

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

重要

Active Directory 身份验证库 (ADAL) 已终止支持。 客户需要确保其应用程序迁移到 MSAL。 MSAL 与 Microsoft 标识平台 (v2.0) 终结点集成,它将 Microsoft 个人帐户和工作帐户统一到单个身份验证系统中。 ADAL 与不支持个人帐户的 v1.0 终结点集成。