Azure.Identity 1.12.0

前缀已保留
该软件包可用的预发布版本更新。
请查看下面的版本列表获取详细信息。
dotnet add package Azure.Identity --version 1.12.0                
NuGet\Install-Package Azure.Identity -Version 1.12.0                
此命令旨在在Visual Studio的软件包管理器控制台中使用,因为它使用了NuGet模块的Install-Package版本。
<PackageReference Include="Azure.Identity" Version="1.12.0" />                
对于支持PackageReference的项目,将此XML节点复制到项目文件中以引用软件包。
paket add Azure.Identity --version 1.12.0                
#r "nuget: Azure.Identity, 1.12.0"                
在F# Interactive和Polyglot Notebooks中可以使用#r指令。将此复制到交互式工具或脚本的源代码中以引用软件包。
// Install Azure.Identity as a Cake Addin
#addin nuget:?package=Azure.Identity&version=1.12.0

// Install Azure.Identity as a Cake Tool
#tool nuget:?package=Azure.Identity&version=1.12.0                

Azure Identity .NET 客户端库

Azure Identity 库为 Azure SDK 提供了 Microsoft Entra ID (之前称为 Azure Active Directory) 认证令牌支持。它提供了一组 TokenCredential 实现,可用来构建支持 Microsoft Entra 认证令牌的 Azure SDK 客户端。

源代码 | 软件包 (NuGet) | API 参考文档 | Microsoft Entra ID 文档

入门

安装包

使用 NuGet 安装 .NET Azure Identity 客户端库

dotnet add package Azure.Identity

先决条件

  • 一个 Azure 订阅
  • Azure CLI(命令行工具)也可以用于开发环境中的认证、创建账户和账户角色管理。

认证客户端

当在本地进行调试和执行代码时,开发者通常使用自己的账户进行对 Azure 服务的认证。有多种开发者工具可用于在你的开发环境中执行此认证。

通过 Visual Studio 认证

使用 Visual Studio 2017 或更高版本的开发者可以通过 IDE 认证 Microsoft Entra 账户。使用 DefaultAzureCredentialVisualStudioCredential 的应用程序可以通过运行本地应用程序时使用此账户进行认证。

在 Visual Studio 中进行认证,请选择菜单中的 工具 > 选项 以启动选项对话框。然后导航到 Azure Service Authentication 选项,并使用您的 Microsoft Entra 账户登录。

Visual Studio Account Selection

通过 Visual Studio Code 认证

使用 Visual Studio Code 的开发者可以使用 Azure 账户扩展 在编辑器中进行认证。使用 DefaultAzureCredentialVisualStudioCodeCredential 的应用程序可以通过在本地运行时使用此账户进行认证。

已知问题是 VisualStudioCodeCredential 不会与版本高于 0.9.11Azure 账户扩展 一起工作。该问题的长期修复正在进展中。同时,可以考虑通过 Azure CLI 认证

通过 Azure CLI 认证

在 IDE 外编码的开发者也可以使用 Azure CLI 进行认证。使用 DefaultAzureCredentialAzureCliCredential 的应用程序可以通过在本地运行时使用此账户进行认证。

要使用 Azure CLI 认证,用户可以运行 az login 命令。对于在具有默认网络浏览器的系统上运行的用户,Azure CLI 将打开浏览器以进行用户认证。

Azure CLI Account Sign In

对于没有默认网络浏览器的系统,az login 命令将使用设备代码验证流程。用户也可以通过指定 --use-device-code 参数强制 Azure CLI 使用设备代码流程而不是打开浏览器。

Azure CLI Account Device Code Sign In

通过 Azure Developer CLI 认证

在 IDE 外编码的开发者也可以使用 Azure Developer CLI 进行认证。使用 DefaultAzureCredentialAzureDeveloperCliCredential 的应用程序可以通过在本地运行时使用此账户进行认证。

要使用 Azure Developer CLI 认证,用户可以运行命令 azd auth login。对于在具有默认网络浏览器的系统上运行的用户,Azure Developer CLI 将打开浏览器以进行用户认证。

对于没有默认网络浏览器的系统,azd auth login --use-device-code 命令将使用设备代码验证流程。

通过 Azure PowerShell 认证

在 IDE 外编码的开发者也可以使用 Azure PowerShell 进行认证。使用 DefaultAzureCredentialAzurePowerShellCredential 的应用程序可以通过在本地运行时使用此账户进行认证。

要使用 Azure PowerShell 进行身份验证,用户可以运行命令 Connect-AzAccount。对于运行默认网络浏览器且 Azure PowerShell 版本为 5.0.0 或更高版本的系统,它会启动浏览器来验证用户。

对于没有默认网络浏览器的系统,Connect-AzAccount 命令将使用设备代码身份验证流程。用户还可以通过指定 UseDeviceAuthentication 参数来强制 Azure PowerShell 使用设备代码流程而不是启动浏览器。

关键概念

凭据

凭据是一个类,其中包含或可以获取服务客户端用于验证请求所需的数据。Azure SDK 中的所有服务客户端在其构造时都会接受凭据。服务客户端使用这些凭据来验证对服务的请求。

Azure Identity 库专注于使用 Microsoft Entra ID 的 OAuth 身份验证,并提供了一系列凭证类,以获取 Microsoft Entra 令牌来验证服务请求。该库中所有凭证类都是 Azure.Core 中的 TokenCredential 抽象类的实现,可以用于构造具有验证功能的服务客户端。

参阅 凭证类 以获取所有可用的凭证类型的完整列表。

DefaultAzureCredential

DefaultAzureCredential 适用于大多数应用最终要在 Azure 上运行的场景。这是因为 DefaultAzureCredential 结合了部署时常用以进行身份验证的凭据和开发环境中用identity authenticate的凭据。

注意:DefaultAzureCredential 旨在通过处理具有合理默认行为的常见场景来简化 SDK 的入门。希望有更多控制或其场景不符合默认设置的 developer 应使用其他凭证类型。

DefaultAzureCredential 将按以下顺序尝试通过以下机制进行身份验证,一旦成功则停止

DefaultAzureCredential authentication flow

  1. 环境 - DefaultAzureCredential 将读取通过 环境变量 指定的帐户信息,并使用它进行身份验证。
  2. 工作负载身份 - 如果应用程序部署到启用了 Workload Identity 的 Azure 主机,则 DefaultAzureCredential 将使用该帐户进行身份验证。
  3. 托管标识 - 如果应用程序部署到启用了托管标识的 Azure 主机,则 DefaultAzureCredential 将使用该帐户进行身份验证。
  4. Visual Studio - 如果开发者已通过 Visual Studio 进行身份验证,则 DefaultAzureCredential 将使用该帐户进行身份验证。
  5. Visual Studio Code - 目前默认排除,因为由于问题 #27263,通过 Visual Studio Code 的 SDK 身份验证已损坏。一旦问题修复,将在 DefaultAzureCredential 流程中重新启用 VisualStudioCodeCredential。问题 #30525 跟踪此问题。在此期间,Visual Studio Code 用户可以使用 Azure CLI 来验证他们的开发环境。
  6. Azure CLI - 如果开发者已通过 Azure CLI az login 命令验证了帐户,则 DefaultAzureCredential 将使用该帐户进行身份验证。
  7. Azure PowerShell - 如果开发者已通过 Azure PowerShell Connect-AzAccount 命令验证了帐户,则 DefaultAzureCredential 将使用该帐户进行身份验证。
  8. Azure开发者CLI - 如果开发者通过Azure开发者CLI命令azd auth login进行了身份验证,则DefaultAzureCredential将使用该账号进行身份验证。
  9. 交互式浏览器 - 如果启用,则DefaultAzureCredential将通过系统默认浏览器与开发者进行交互式身份验证。默认情况下,此凭据类型是禁用的。
续订策略

从版本1.10.1开始,DefaultAzureCredential将尝试使用所有开发者凭据进行身份验证,直到成功为止,而不管之前开发者凭据遇到任何错误。例如,一个开发者凭据可能尝试获取令牌并失败,所以DefaultAzureCredential将继续到下一个凭据。已部署的服务凭据如果在尝试获取令牌时没有收到任何令牌,将通过抛出异常来停止该流。在版本1.10.1之前,如果token检索失败,开发者凭据也会类似地停止身份验证流程。

此行为允许尝试机器上所有的开发者凭据,同时具有可预测的已部署行为。

示例

使用DefaultAzureCredential进行身份验证

此示例演示了使用DefaultAzureCredentialAzure.Security.KeyVault.Secrets客户端库中验证SecretClient

// Create a secret client using the DefaultAzureCredential
var client = new SecretClient(new Uri("https://myvault.vault.azure.net/"), new DefaultAzureCredential());

启用DefaultAzureCredential的交互式身份验证

默认情况下,在DefaultAzureCredential中禁用交互式身份验证。此示例演示了两种启用DefaultAzureCredential交互式身份验证部分的方法。启用后,如果没有其他凭据可用,则DefaultAzureCredential将回退到通过系统默认浏览器与开发者进行交互式身份验证。然后该示例通过启用交互式身份验证使用DefaultAzureCredentialAzure.Messaging.EventHubs客户端库进行身份验证。

// the includeInteractiveCredentials constructor parameter can be used to enable interactive authentication
var credential = new DefaultAzureCredential(includeInteractiveCredentials: true);

var eventHubClient = new EventHubProducerClient("myeventhub.eventhubs.windows.net", "myhubpath", credential);

使用DefaultAzureCredential指定用户分配的托管标识

许多Azure主机允许分配用户分配的托管标识。以下示例演示了配置DefaultAzureCredential在部署到Azure主机时验证用户分配的托管标识。示例代码使用凭据通过Azure.Storage.Blobs客户端库进行身份验证。它还演示了您可以通过客户端ID或资源ID指定用户分配的托管标识。

客户端ID

要使用客户端ID,采用以下方法之一

  1. 设置DefaultAzureCredentialOptions.ManagedIdentityClientId属性。例如
// When deployed to an Azure host, DefaultAzureCredential will authenticate the specified user-assigned managed identity.

string userAssignedClientId = "<your managed identity client ID>";
var credential = new DefaultAzureCredential(
    new DefaultAzureCredentialOptions
    {
        ManagedIdentityClientId = userAssignedClientId
    });

var blobClient = new BlobClient(
    new Uri("https://myaccount.blob.core.windows.net/mycontainer/myblob"),
    credential);
  1. 设置环境变量AZURE_CLIENT_ID
资源ID

要使用资源ID,设置DefaultAzureCredentialOptions.ManagedIdentityResourceId属性。资源ID采用以下形式:/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}。由于资源ID可以由惯例生成,因此当你在环境中有许多用户分配的托管标识时,它可能更方便。例如

string userAssignedResourceId = "<your managed identity resource ID>";
var credential = new DefaultAzureCredential(
    new DefaultAzureCredentialOptions
    {
        ManagedIdentityResourceId = new ResourceIdentifier(userAssignedResourceId)
    });

var blobClient = new BlobClient(
    new Uri("https://myaccount.blob.core.windows.net/mycontainer/myblob"),
    credential);

使用ChainedTokenCredential定义自定义身份验证流程

虽然 DefaultAzureCredential 通常是开始开发针对 Azure 的应用程序的最快方法,但更高级用户可能需要在身份验证时自定义考虑的凭证。 ChainedTokenCredential 允许用户组合多个凭证实例,以定义自定义的凭证链。此示例演示了创建一个 ChainedTokenCredential,它将尝试使用托管身份进行身份验证,如果在当前环境中发现托管身份不可用,则回退到通过 Azure CLI 进行身份验证。然后使用此凭证从 Azure.Messaging.EventHubs 客户端库中验证 EventHubProducerClient

// Authenticate using managed identity if it is available; otherwise use the Azure CLI to authenticate.

var credential = new ChainedTokenCredential(new ManagedIdentityCredential(), new AzureCliCredential());

var eventHubProducerClient = new EventHubProducerClient("myeventhub.eventhubs.windows.net", "myhubpath", credential);

托管身份支持

通过 DefaultAzureCredential 或直接使用 ManagedIdentityCredential,以下 Azure 服务支持 托管身份身份验证

截至版本 1.8.0,ManagedIdentityCredential 支持 令牌缓存

示例

以下示例演示了使用 ManagedIdentityCredential 验证 Azure.Security.KeyVault.Secrets 客户端库中的 SecretClient

使用用户分配的托管身份进行身份验证
var credential = new ManagedIdentityCredential(clientId: userAssignedClientId);
var client = new SecretClient(new Uri("https://myvault.vault.azure.net/"), credential);
使用系统分配的托管身份进行身份验证
var credential = new ManagedIdentityCredential();
var client = new SecretClient(new Uri("https://myvault.vault.azure.net/"), credential);

云配置

凭证默认用于验证到 Azure 公共云的 Microsoft Entra 端点。要访问其他云中的资源,例如 Azure 政府或私有云,请使用 AuthorityHost 参数配置凭证。 AzureAuthorityHosts 定义了知名云的当局

var credential = new DefaultAzureCredential(new DefaultAzureCredentialOptions { AuthorityHost = AzureAuthorityHosts.AzureGovernment });

并非所有凭证都需要此配置。通过开发工具(如 AzureCliCredential)进行身份验证的凭证使用该工具的配置。

凭证类

验证 Azure 托管应用程序

凭证 用法
DefaultAzureCredential 提供了简化的身份验证体验,以快速开始开发在 Azure 中运行的应用程序。
ChainedTokenCredential 允许用户定义由多个凭证组成自定义身份验证流程。
EnvironmentCredential 通过环境变量中指定的凭证信息对服务主体或用户进行身份验证。
ManagedIdentityCredential 验证 Azure 资源的托管身份。
WorkloadIdentityCredential 在 Kubernetes 上支持 Microsoft Entra Workload ID

验证服务主体

凭证 用法 参考
AzurePipelinesCredential 在 Azure Pipelines 上支持 Microsoft Entra Workload ID example
ClientAssertionCredential 使用签名客户端声明对服务主体进行身份验证。
ClientCertificateCredential 使用证书对服务主体进行身份验证。 服务主体身份验证
ClientSecretCredential 使用密钥对服务主体进行身份验证。 服务主体身份验证

验证用户

凭证 用法 参考
AuthorizationCodeCredential 使用以前获得的授权代码对用户进行身份验证。 OAuth2 授权代码
DeviceCodeCredential 在具有有限 UI 的设备上交互式地对用户进行身份验证。 设备代码身份验证
InteractiveBrowserCredential 使用默认系统浏览器对用户进行交互式身份验证。 OAuth2 授权代码
OnBehalfOfCredential 通过请求链传播委派用户身份和权限。 代表身份验证
UsernamePasswordCredential 使用用户名和密码验证用户。 用户名 + 密码身份验证

通过开发工具进行验证

凭证 用法 参考
AzureCliCredential 使用 Azure CLI 在开发环境中进行验证。 Azure CLI 身份验证
AzureDeveloperCliCredential 使用 Azure Developer CLI 在开发环境中进行验证。 Azure Developer CLI 参考
AzurePowerShellCredential 使用 Azure PowerShell 在开发环境中进行验证。 Azure PowerShell 身份验证
VisualStudioCredential 使用 Visual Studio 在开发环境中进行验证。 Visual Studio 配置
VisualStudioCodeCredential 以 Visual Studio Code Azure 账户扩展中登录的用户身份进行验证。 VS Code Azure 账户扩展

注意: Azure Identity 库中所有凭证实现都是线程安全的,单个凭证实例可以被多个服务客户端使用。

环境变量

DefaultAzureCredentialEnvironmentCredential 可通过环境变量进行配置。每种类型的身份验证都需要特定变量的值

具有密钥的服务主体

变量名
AZURE_CLIENT_ID Microsoft Entra 应用程序的 ID
AZURE_TENANT_ID 应用程序的 Microsoft Entra 租户的 ID
AZURE_CLIENT_SECRET 应用程序的一个客户端密钥

具有证书的服务主体

变量名
AZURE_CLIENT_ID Microsoft Entra 应用程序的 ID
AZURE_TENANT_ID 应用程序的 Microsoft Entra 租户的 ID
AZURE_CLIENT_CERTIFICATE_PATH 到 PFX 或 PEM 编码的证书文件的路径,包括私钥
AZURE_CLIENT_CERTIFICATE_PASSWORD (可选) 保护证书文件的密码(目前仅支持 PFX (PKCS12) 证书)
AZURE_CLIENT_SEND_CERTIFICATE_CHAIN (可选) 在 x5c 头部发送证书链以支持基于主题名称 / 发行者的身份验证

用户名和密码

变量名
AZURE_CLIENT_ID Microsoft Entra 应用程序的 ID
AZURE_TENANT_ID 应用程序的 Microsoft Entra 租户的 ID
AZURE_USERNAME 一个用户名(通常是一个电子邮件地址)
AZURE_PASSWORD 该用户的密码

托管标识身份(DefaultAzureCredential

变量名
AZURE_CLIENT_ID 用户分配的托管标识的客户端 ID。如果已定义,用作 DefaultAzureCredentialOptionsManagedIdentityClientId 的默认值。

将尝试按上述顺序进行配置。例如,如果客户端密钥和证书的值都存在,则使用客户端密钥。

持续访问评估

从版本 1.10.0 开始,按请求 basis 可以访问由 Continuous Access Evaluation (CAE) 保护的资源。可以通过通过构造函数设置 TokenRequestContextIsCaeEnabled 属性来启用此行为。CAE 不支持开发者和托管标识凭证。

令牌缓存

令牌缓存 是 Azure Identity 库提供的一项功能。该功能允许应用

  • 在内存中(默认)或磁盘上(opt-in)缓存令牌。
  • 提高弹性和性能。
  • 减少放置在 Microsoft Entra ID 以获取访问令牌的请求数量。

Azure Identity 库提供内存和持久磁盘缓存。有关详细信息,请参阅令牌缓存文档

代理身份验证

身份代理是一个在用户机器上运行的应用程序,用于管理连接账户的身份验证握手和令牌维护。目前仅支持Windows网络账户管理器(WAM)。要启用支持,请使用Azure.Identity.Broker包。有关使用WAM进行身份验证的详细信息,请参阅代理包文档

故障排除

请查阅故障排除指南以了解如何诊断各种失败场景的详细信息。

错误处理

认证过程中出现的错误可以在任何调用服务的服务客户端方法的上下文中引发。这是因为首次从凭据请求令牌是在第一次调用服务时,后续的调用可能需要刷新令牌。为了区分这些失败与客户端Azure身份类中的服务客户端失败,将异常AuthenticationFailedException(包含异常消息中有关错误来源的详细信息和可能的错误消息)抛出。根据应用程序,这些错误可能或可能不可恢复。

using Azure.Identity;
using Azure.Security.KeyVault.Secrets;

// Create a secret client using the DefaultAzureCredential
var client = new SecretClient(new Uri("https://myvault.vault.azure.net/"), new DefaultAzureCredential());

try
{
    KeyVaultSecret secret = await client.GetSecretAsync("secret1");
}
catch (AuthenticationFailedException e)
{
    Console.WriteLine($"Authentication Failed. {e.Message}");
}

有关处理对Microsoft Entra ID或托管标识端点失败的请求引起的错误的更多信息,请参阅Microsoft Entra ID授权错误代码文档

日志记录

Azure身份库提供了与其他Azure SDK类似的所有日志记录功能

要查看日志以帮助调试认证问题,最简单的方法是启用控制台日志记录。

// Setup a listener to monitor logged events.
using AzureEventSourceListener listener = AzureEventSourceListener.CreateConsoleLogger();

所有凭据都可以配置诊断选项,就像SDK中的其他客户端一样。

警告:Azure身份库中的请求和响应包含敏感信息。在自定义输出时,必须采取措施保护日志,避免泄露账户安全。

DefaultAzureCredentialOptions options = new DefaultAzureCredentialOptions
{
    Diagnostics =
    {
        LoggedHeaderNames = { "x-ms-request-id" },
        LoggedQueryParameters = { "api-version" },
        IsLoggingContentEnabled = true
    }
};

在调试认证问题时,您还可以启用敏感信息的日志记录。要启用此类日志记录,将属性IsLoggingContentEnabled设置为true。要仅记录用于尝试认证和授权的账户的详细信息,将IsAccountIdentifierLoggingEnabled设置为true

DefaultAzureCredentialOptions options = new DefaultAzureCredentialOptions
{
    Diagnostics =
    {
        LoggedHeaderNames = { "x-ms-request-id" },
        LoggedQueryParameters = { "api-version" },
        IsAccountIdentifierLoggingEnabled = true
    }
};

线程安全

我们保证所有凭据实例方法都是线程安全的,并且互不干扰(《线程安全指南》)(线程安全指南))。这确保了重新使用凭据实例的建议总是安全的,即使在跨线程的情况下也是如此。

附加概念

客户端选项 | 访问响应 | 诊断 | 模拟 | 客户端寿命

下一步操作

支持与Azure Identity进行认证的客户端库

列出的许多客户端库在此处支持使用TokenCredential和Azure身份库进行认证。您还可以在那里找到学习更多关于它们的使用方法的信息,包括额外的文档和示例。

已知问题

此库目前不支持与Azure AD B2C服务的相关场景。

有关 Azure.Identity 库的开放问题请见此处

贡献

此项目欢迎贡献和建议。大多数贡献都需要您同意贡献者许可协议(CLA),声明您有权,并且实际上确实对我们的贡献享有使用权。有关详细信息,请访问https://cla.microsoft.com

在提交拉取请求时,CLA-bot将自动确定您是否需要提供CLA,并以适当的方式装饰PR(例如,标签,注释)。只需遵循机器人提供的说明。您只需在所有使用我们的CLA的仓库中进行一次操作。

本项目已采用Microsoft开源准则。有关更多信息,请参阅准则FAQ或通过[email protected]联系以提出任何额外的问题或评论。

产品 兼容以及额外的计算目标框架版本。
.NET net5.0已计算。 net5.0-windows已计算。 net6.0已计算。 net6.0-android已计算。 net6.0-ios已计算。 net6.0-maccatalyst已计算。 net6.0-macos已计算。 net6.0-tvos已计算。 net6.0-windows已计算。 net7.0已计算。 net7.0-android已计算。 net7.0-ios已计算。 net7.0-maccatalyst已计算。 net7.0-macos已计算。 net7.0-tvos已计算。 net7.0-windows已计算。 net8.0已计算。 net8.0-android已计算。 net8.0-browser已计算。 net8.0-ios已计算。 net8.0-maccatalyst已计算。 net8.0-macos已计算。 net8.0-tvos已计算。 net8.0-windows已计算。
.NET Core netcoreapp2.0 已计算。 netcoreapp2.1 已计算。 netcoreapp2.2 已计算。 netcoreapp3.0 已计算。 netcoreapp3.1 已计算。
.NET 标准库 netstandard2.0 兼容。 netstandard2.1 已计算。
.NET 框架 net461 已计算。 net462 已计算。 net463 已计算。 net47 已计算。 net471 已计算。 net472 已计算。 net48 已计算。 net481 已计算。
MonoAndroid monoandroid 已计算。
MonoMac monomac 已计算。
MonoTouch monotouch 已计算。
Tizen tizen40 已计算。 tizen60 已计算。
Xamarin.iOS xamarinios 已计算。
Xamarin.Mac xamarinmac 已计算。
Xamarin.TVOS xamarintvos 已计算。
Xamarin.WatchOS xamarinwatchos 已计算。
兼容的目标框架
包含的目标框架(在包内)
了解有关 目标框架.NET 标准库 的更多信息。

NuGet 包 (805)

显示依赖于 Azure.Identity 的前 5 个 NuGet 包

下载
Microsoft.Data.SqlClient

当前用于SQL Server和Azure SQL数据库的数据提供程序。它已替代System.Data.SqlClient。这些类提供对SQL的访问,并封装数据库特定的协议,包括表数据流(TDS)。常用类型:Microsoft.Data.SqlClient.SqlConnection Microsoft.Data.SqlClient.SqlException Microsoft.Data.SqlClient.SqlParameter Microsoft.Data.SqlClient.SqlDataReader Microsoft.Data.SqlClient.SqlCommand Microsoft.Data.SqlClient.SqlTransaction Microsoft.Data.SqlClient.SqlParameterCollection Microsoft.Data.SqlClient.SqlClientFactory 在使用NuGet 3.x时,此包需要至少3.4版本。

Microsoft.Extensions.Azure

Microsoft.Extensions库与Azure客户端SDK的集成

Microsoft.Extensions.Caching.SqlServer

使用Microsoft SQL Server实现Microsoft.Extensions.Caching.Distributed.IDistributedCache的分布式缓存。此包从https://github.com/dotnet/aspnetcore/tree/abc2c7226ff616316cd1e05d76e6c36b49ce06a1的源代码构建

Microsoft.Identity.Web.Certificate

此包为MSAL.NET带来了证书管理。

WindowsAzure.ServiceBus

请注意,自2020年11月起,对于Azure Service Bus、Azure Event Hubs和Azure Relay,分别有较新的Azure.Messaging.ServiceBus、Azure.Messaging.EventHubs和Microsoft.Azure.Relay包可用。虽然WindowsAzure.ServiceBus将继续接收关键错误修复,但我们强烈建议您升级。有关更多详细信息,请参阅https://aka.ms/azsdk/blog/msging/intro。它将Microsoft.ServiceBus.dll以及相关配置文件添加到您的项目中。此库允许将AMQP 1.0用作与Microsoft Azure Service Bus通信的协议之一。有关消息功能更详细的信息,请访问:http://azure.microsoft.com/en-us/documentation/services/service-bus/ 有关事件中心功能更详细的信息,请访问:http://go.microsoft.com/fwlink/?LinkID=403957 请注意,此包需要至少.NET Framework 4.6.2。

GitHub仓库 (144)

显示取决于Azure.Identity的排名前5的GitHub仓库

仓库 星标
microsoft/semantic-kernel
快速轻松地将最新的LLM技术集成到您的应用程序中
jasontaylordev/CleanArchitecture
ASP.NET Core的Clean Architecture解决方案模板
bitwarden/server
Bitwarden基础设施/后端(API、数据库、Docker等)。
dotnet/efcore
EF Core是.NET的现代对象数据库映射器。它支持LINQ查询、更改跟踪、更新和架构迁移。
dotnet/AspNetCore.Docs
ASP.NET Core的文档
版本 下载 最后更新
1.13.0-beta.1 5,967 7/24/2024
1.12.0 5,127,738 6/17/2024
1.12.0-beta.3 8,108 6/11/2024
1.12.0-beta.2 27,817 5/7/2024
1.12.0-beta.1 12,803 4/23/2024
1.11.4 6,636,782 6/10/2024
1.11.3 6,319,165 5/7/2024 1.11.3 至少有一个中等严重程度的漏洞。
1.11.2 3,838,965 4/19/2024 1.11.2 至少有一个中等严重程度的漏洞。
1.11.1 3,135,981 4/16/2024 1.11.1 至少有一个中等严重程度的漏洞。
1.11.0 6,320,715 4/9/2024 1.11.0 至少有一个中等严重程度的漏洞。
1.11.0-beta.1 50,326 2/6/2024 1.11.0-beta.1 至少有一个中等严重程度的漏洞。
1.10.4 33,514,697 11/13/2023 1.10.4 至少有一个中等严重程度的漏洞。
1.10.3 44,738,293 10/18/2023 1.10.3 至少有一个中等严重程度的漏洞。
1.10.2 10,831,915 10/9/2023 1.10.2 至少有一个中等严重程度的漏洞。
1.10.1 2,136,680 9/13/2023 1.10.1 至少有一个高严重程度的漏洞。
1.10.0 3,203,362 8/15/2023 1.10.0 至少有一个高严重程度的漏洞。
1.10.0-beta.1 16,130 7/17/2023 1.10.0-beta.1 至少有一个高严重程度的漏洞。
1.9.0 15,361,406 5/11/2023 1.9.0 至少有一个高严重程度的漏洞。
1.9.0-beta.3 43,894 4/12/2023 1.9.0-beta.3 至少有一个高严重程度的漏洞。
1.9.0-beta.2 116,320 2/22/2023 1.9.0-beta.2 至少有一个高严重程度的漏洞。
1.9.0-beta.1 301,975 10/13/2022 1.9.0-beta.1 至少有一个高严重程度的漏洞。
1.8.2 17,177,702 2/8/2023 版本 1.8.2 至少存在一个高严重程度的漏洞。
1.8.1 3,909,818 1/13/2023 版本 1.8.1 至少存在一个高严重程度的漏洞。
1.8.0 11,886,984 11/9/2022 版本 1.8.0 至少存在一个高严重程度的漏洞。
1.8.0-beta.1 5,488 10/13/2022 版本 1.8.0-beta.1 至少存在一个高严重程度的漏洞。
1.7.0 71,471,757 9/19/2022 版本 1.7.0 至少存在一个高严重程度的漏洞。
1.7.0-beta.1 69,683 8/10/2022 版本 1.7.0-beta.1 至少存在一个高严重程度的漏洞。
1.6.1 6,928,476 8/8/2022 版本 1.6.1 至少存在一个高严重程度的漏洞。
1.6.0 80,306,111 4/5/2022 版本 1.6.0 至少存在一个高严重程度的漏洞。
1.6.0-beta.1 54,569 2/11/2022 版本 1.6.0-beta.1 至少存在一个高严重程度的漏洞。
1.5.0 35,174,786 10/14/2021 版本 1.5.0 至少存在一个高严重程度的漏洞。
1.5.0-beta.4 55,815 9/8/2021 版本 1.5.0-beta.4 至少存在一个高严重程度的漏洞。
1.5.0-beta.3 150,858 8/11/2021 版本 1.5.0-beta.3 至少存在一个高严重程度的漏洞。
1.5.0-beta.2 36,456 7/12/2021 版本 1.5.0-beta.2 至少存在一个高严重程度的漏洞。
1.5.0-beta.1 27,152 6/8/2021 版本 1.5.0-beta.1 至少存在一个高严重程度的漏洞。
1.4.1 9,042,953 8/5/2021 版本 1.4.1 至少存在一个高严重程度的漏洞。
1.4.0 42,167,605 5/12/2021 1.4.0 存在至少一个严重级别的漏洞。
1.4.0-beta.5 148,409 4/6/2021 1.4.0-beta.5 存在至少一个严重级别的漏洞。
1.4.0-beta.4 35,597 3/9/2021 1.4.0-beta.4 存在至少一个严重级别的漏洞。
1.4.0-beta.3 134,260 2/10/2021 1.4.0-beta.3 存在至少一个严重级别的漏洞。
1.4.0-beta.2 22,661 1/30/2021 1.4.0-beta.2 存在至少一个严重级别的漏洞。
1.4.0-beta.1 126,016 10/16/2020 1.4.0-beta.1 存在至少一个严重级别的漏洞。
1.3.0 125,484,316 11/13/2020 1.3.0 存在至少一个严重级别的漏洞。
1.3.0-beta.2 3,441 10/8/2020 1.3.0-beta.2 存在至少一个严重级别的漏洞。
1.3.0-beta.1 40,668 9/11/2020 1.3.0-beta.1 存在至少一个严重级别的漏洞。
1.2.3 10,729,629 9/11/2020 1.2.3 存在至少一个严重级别的漏洞。
1.2.2 1,283,312 8/20/2020 1.2.2 存在至少一个严重级别的漏洞。
1.2.1 829,220 8/18/2020 1.2.1 存在至少一个严重级别的漏洞。
1.2.0-preview.6 19,090 7/23/2020 1.2.0-preview.6 存在至少一个严重级别的漏洞。
1.2.0-preview.5 16,544 7/8/2020 1.2.0-preview.5 存在至少一个严重级别的漏洞。
1.2.0-preview.4 70,539 6/10/2020 1.2.0-preview.4 至少存在一个严重漏洞。
1.2.0-preview.3 124,399 5/5/2020 1.2.0-preview.3 至少存在一个严重漏洞。
1.2.0-preview.2 46,261 4/6/2020 1.2.0-preview.2 至少存在一个严重漏洞。
1.2.0-preview.1 71,963 3/10/2020 1.2.0-preview.1 至少存在一个严重漏洞。
1.1.1 12,439,213 2/11/2020 1.1.1 至少存在一个严重漏洞。
1.1.0 867,017 11/25/2019 1.1.0 至少存在一个严重漏洞。
1.0.0 2,949,197 10/30/2019 1.0.0 至少存在一个严重漏洞。
1.0.0-preview.5 10,746 10/7/2019 1.0.0-preview.5 至少存在一个严重漏洞。
1.0.0-preview.4 3,541 9/10/2019 1.0.0-preview.4 至少存在一个严重漏洞。
1.0.0-preview.3 5,424 8/6/2019 1.0.0-preview.3 至少存在一个严重漏洞。
1.0.0-preview.2 3,402 7/2/2019 1.0.0-preview.2 至少存在一个严重漏洞。
1.0.0-preview.1 937 6/28/2019 1.0.0-preview.1 至少存在一个严重漏洞。