用于托管标识身份验证的客户端库

本文档概述了可用于使用 Azure 资源的托管标识对应用程序进行身份验证的客户端库。 这些库包括 Azure 标识库和Microsoft身份验证库(MSAL)。

某些 Azure 服务基于这些库构建了客户端库。 例如,Microsoft.Data.SqlClient 包可用于使用托管标识向 Azure SQL 数据库进行身份验证。 在后台,正在使用用于 .NET 的 Azure 标识库。

选择正确的库

MSAL 库提供的抽象级别低于 Azure 标识等库。 MSAL 和 Azure 标识库都允许通过托管标识获取令牌。 在内部,Azure 标识库使用 MSAL 并提供更高级别的 API,例如 DefaultAzureCredential,无需在开发和部署应用程序时实现标识类型之间的手动切换。

  • 如果应用程序已使用其中一个库,请继续使用同一库。
  • 如果要开发新的应用程序并计划调用其他 Azure 资源,请使用 Azure 标识库。 此库通过允许应用在托管标识不可用的本地开发人员计算机上进行身份验证,从而提供改进的开发人员体验。
  • 如果需要调用其他下游 Web API(如 Microsoft Graph 或自己的 Web API),请使用 MSAL。 对于 .NET 应用程序,请使用基于 MSAL 构建的 Microsoft.Identity.Web 库

如果 Azure 服务在这些库的基础上生成了客户端库,请考虑使用特定于服务的客户端库。 例如,对于 Azure SQL,请使用 Microsoft.Data.SqlClient 包。

特定于语言的 API 参考

语言 Azure 标识 MSAL
。网 用于 .NET 的 Azure 标识客户端库 MSAL .NET
C++ 用于C++ 的 Azure 标识客户端库
爪哇岛 适用于 Java 的 Azure 标识客户端库 MSAL Java
JavaScript 适用于 JavaScript 的 Azure 标识客户端库 MSAL JavaScript
适用于 Python 的 Azure 标识客户端库 MSAL Python
适用于 Go 的 Azure 标识客户端库 MSAL Go