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、Xamarin Android、Xamarin iOS、通用 Windows 平台 |
适用于 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 |
将使用 ADAL 的应用迁移到 MSAL
Active Directory 身份验证库 (ADAL) 已终止支持。 我们建议客户确保其应用程序迁移到 MSAL。 MSAL 与 Microsoft 标识平台 (v2.0) 终结点集成,它将 Microsoft 个人帐户和工作帐户统一到单个身份验证系统中。 ADAL 与不支持个人帐户的 v1.0 终结点集成。
有关如何迁移到 MSAL 的详细信息,请参阅将应用程序迁移到 Microsoft 身份验证库 (MSAL)。