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 帐户、具有Microsoft Entra 外部 ID组织、工作、学校或主权和国家云中的用户的社会标识。
  • 可帮助你通过配置文件设置应用程序。
  • 可显示可操作异常、日志和遥测,从而帮助你对应用进行故障排除。

应用程序类型和方案

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

MSAL 可用于多个应用程序方案,包括:

  • 单页应用程序 (JavaScript)
  • 登录用户的 Web 应用程序
  • Web 应用程序登录用户并代表用户调用 web API
  • Web API 身份验证,确保只有经过身份验证的用户才能访问它
  • Web API 代表已登录用户调用其他下游 Web API
  • 桌面应用程序代表已登录用户调用 Web API
  • 代表以交互方式登录的用户调用 Web API 的移动应用程序
  • 桌面/服务守护程序应用程序代表自己调用 Web API

语言和框架

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