你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

@azure/identity package

AggregateAuthenticationError

提供一个 errors 数组,该数组包含 AuthenticationError 实例,用于从 ChainedTokenCredential中的凭据进行身份验证失败。

AuthenticationError

提供有关使用 Azure Active Directory 进行身份验证失败的详细信息。 errorResponse 字段包含有关特定失败的更多详细信息。

AuthenticationRequiredError

尝试以无提示方式检索令牌后用于强制实施身份验证的错误。

AuthorizationCodeCredential

启用身份验证以使用通过授权代码流获取的授权代码Microsoft Entra ID,Microsoft Entra ID 文档中更详细地介绍:

https://learn.microsoft.com/entra/identity-platform/v2-oauth2-auth-code-flow

AzureCliCredential

此凭据将通过 Azure CLI ('az') 命令行工具使用当前登录的用户登录信息。 为此,它将读取用户访问令牌,并使用 Azure CLI 命令“az account get-access-token”过期时间。

AzureDeveloperCliCredential

Azure 开发人员 CLI 是一种命令行界面工具,允许开发人员在 Azure 中创建、管理和部署资源。 它基于 Azure CLI 构建,提供特定于 Azure 开发人员的其他功能。 它允许用户根据 Microsoft Entra ID以用户和/或服务主体的身份进行身份验证。 AzureDeveloperCliCredential 在开发环境中进行身份验证,并代表 Azure 开发人员 CLI 中的已登录用户或服务主体获取令牌。 它充当登录用户或服务主体的 Azure 开发人员 CLI,并在其下执行 Azure CLI 命令,以针对 Microsoft Entra ID 对应用程序进行身份验证。

配置 AzureDeveloperCliCredential

若要使用此凭据,开发人员需要使用以下命令之一在本地在 Azure 开发人员 CLI 中进行身份验证:

  1. 在 Azure 开发人员 CLI 中运行“azd auth login”,以以用户身份以交互方式进行身份验证。
  2. 运行“azd auth login --client-id clientID --client-secret clientSecret --tenant-id tenantID”以作为服务主体进行身份验证。

可能需要在特定时间段后重复此过程,具体取决于组织中的刷新令牌有效性。 通常,刷新令牌有效期为数周到几个月。 AzureDeveloperCliCredential 将提示你再次登录。

AzurePipelinesCredential

此凭据旨在用于 Azure Pipelines 中,服务连接作为工作负荷标识联合的设置。

AzurePowerShellCredential

此凭据将使用 Azure PowerShell 模块中当前登录的用户信息。 为此,它将使用 Azure PowerShell 命令读取用户访问令牌并过期时间 Get-AzAccessToken -ResourceUrl {ResourceScope}

ChainedTokenCredential

允许按顺序尝试多个 TokenCredential 实现,直到 getToken 方法之一返回访问令牌。

ClientAssertionCredential

使用 JWT 断言对服务主体进行身份验证。

ClientCertificateCredential

允许使用分配给应用注册的 PEM 编码证书Microsoft Entra ID 进行身份验证。 有关如何配置证书身份验证的详细信息,可在此处找到:

https://learn.microsoft.com/en-us/azure/active-directory/develop/active-directory-certificate-credentials#register-your-certificate-with-azure-ad

ClientSecretCredential

允许使用为应用注册生成的客户端密码Microsoft Entra ID 进行身份验证。 有关如何配置客户端密码的详细信息,可在此处找到:

https://learn.microsoft.com/entra/identity-platform/quickstart-configure-app-access-web-apis#add-credentials-to-your-web-application

CredentialUnavailableError

这表示链式凭据中尝试的凭据不能用作凭据。 它被捕获并链继续,而不是将此视为应停止链的错误

DefaultAzureCredential

提供默认 ChainedTokenCredential 配置,该配置适用于大多数使用 Azure SDK 的应用程序。

DeviceCodeCredential

启用身份验证以使用用户可输入 https://microsoft.com/devicelogin的设备代码Microsoft Entra ID。

EnvironmentCredential

启用身份验证以使用客户端机密或证书或用户名和密码作为用户Microsoft Entra ID。

InteractiveBrowserCredential

允许使用交互式登录流在 Web 浏览器中Microsoft Entra ID 的身份验证。

ManagedIdentityCredential

尝试使用部署环境中提供的托管标识进行身份验证。 此身份验证类型适用于 Azure VM、应用服务实例、Azure Functions 应用程序、Azure Kubernetes 服务、Azure Service Fabric 实例以及 Azure Cloud Shell 内部。

有关配置托管标识的详细信息,请参阅:https://learn.microsoft.com/en-us/azure/active-directory/managed-identities-azure-resources/overview

OnBehalfOfCredential

允许使用 代表流Microsoft Entra ID 进行身份验证。

UsernamePasswordCredential

启用身份验证以使用用户的用户名和密码Microsoft Entra ID。 此凭据需要高度信任,因此仅当无法使用其他更安全的凭据类型时,才应使用它。

VisualStudioCodeCredential

使用 VSCode 扩展“Azure 帐户”提供的凭据连接到 Azure。 用户通过扩展登录后,此凭据可以共享扩展缓存的相同刷新令牌。

此凭据不适用于 Azure 帐户扩展 版本 高于 0.9.11已知问题。 此问题的长期修复正在进行中。 同时,请考虑使用 AzureCliCredential进行身份验证。

WorkloadIdentityCredential

工作负荷标识身份验证是 Azure 中的一项功能,它允许在虚拟机(VM)上运行的应用程序访问其他 Azure 资源,而无需服务主体或托管标识。 使用工作负荷标识身份验证,应用程序使用自己的标识(而不是共享服务主体或托管标识)自行进行身份验证。 在后台,工作负荷标识身份验证使用服务帐户凭据(SAC)的概念,该服务帐户凭据(SAC)由 Azure 自动创建,并安全地存储在 VM 中。 通过使用工作负荷标识身份验证,可以避免管理并轮换每个 VM 上每个应用程序的服务主体或托管标识。 此外,由于 SAC 由 Azure 自动创建和管理,因此无需担心存储和保护敏感凭据本身。 WorkloadIdentityCredential 支持在 Azure Kubernetes 上Microsoft Entra Workload ID 身份验证,并使用 Azure Kubernetes 环境中提供的 SAC 获取令牌。 有关详细信息,请参阅 Microsoft Entra 工作负荷 ID

接口

AccessToken

表示具有过期时间的访问令牌。

AuthenticationRecord

用于在缓存中查找缓存令牌的记录。

AuthenticationRequiredErrorOptions

AuthenticationRequiredError 的可选参数

AuthorityValidationOptions

提供用于配置标识库在身份验证请求期间如何对 Microsoft Entra ID 执行颁发机构验证的选项。

AuthorizationCodeCredentialOptions

AuthorizationCodeCredential 的选项

AzureCliCredentialOptions

azureCliCredential 选项

AzureDeveloperCliCredentialOptions

AzureDeveloperCliCredential 的选项

AzurePipelinesCredentialOptions

AzurePipelinesCredential 类的可选参数。

AzurePowerShellCredentialOptions

AzurePowerShellCredential 选项

BrokerAuthOptions

InteractiveBrowserCredential 支持 WAM 代理身份验证的配置选项。

BrokerDisabledOptions

禁用 WAM 代理身份验证时的参数。

BrokerEnabledOptions

启用 WAM 代理身份验证时的参数。

BrowserCustomizationOptions

用于浏览器自定义的共享配置选项

ClientAssertionCredentialOptions

ClientAssertionCredential 的选项

ClientCertificateCredentialOptions

ClientCertificateCredential 类的可选参数。

ClientCertificatePEMCertificate

ClientCertificateCredential的必需配置选项,其中包含 PEM 证书的字符串内容

ClientCertificatePEMCertificatePath

ClientCertificateCredential的必需配置选项,以及 PEM 证书的路径。

ClientSecretCredentialOptions

ClientSecretCredential 类的可选参数。

CredentialPersistenceOptions

支持持久令牌缓存的凭据的共享配置选项。

DefaultAzureCredentialClientIdOptions

提供用于配置 DefaultAzureCredential 类的选项。 此变体支持 managedIdentityClientId,不支持 managedIdentityResourceId,因为仅支持其中一个。

DefaultAzureCredentialOptions

提供用于配置 DefaultAzureCredential 类的选项。

DefaultAzureCredentialResourceIdOptions

提供用于配置 DefaultAzureCredential 类的选项。 此变体支持 managedIdentityResourceId,不支持 managedIdentityClientId,因为仅支持其中一个。

DeviceCodeCredentialOptions

为 Node.js定义 InteractiveBrowserCredential 类的选项。

DeviceCodeInfo

提供必须输入代码的用户代码和验证 URI。 还提供了一条消息,向用户显示,其中包含具有这些详细信息的说明。

EnvironmentCredentialOptions

允许身份验证根据可用的环境变量Microsoft Entra ID。 定义 EnvironmentCredential 类的选项。

ErrorResponse

有关更多详细信息,请参阅官方文档:

https://learn.microsoft.com/en-us/azure/active-directory/develop/v1-protocols-oauth-code#error-response-1

注意:本文档适用于 v1 OAuth 支持,但相同的错误响应详细信息仍适用于 v2。

GetBearerTokenProviderOptions

配置令牌提供程序的选项。

GetTokenOptions

定义 TokenCredential.getToken 的选项。

InteractiveBrowserCredentialInBrowserOptions

定义 InteractiveBrowserCredential 类的常用选项。

InteractiveBrowserCredentialNodeOptions

定义 InteractiveBrowserCredential 类的常用选项。

InteractiveCredentialOptions

需要用户交互的标识凭据的常见构造函数选项。

ManagedIdentityCredentialClientIdOptions

用于在 ManagedIdentityCredential 构造函数上发送的选项。 此变体支持 clientId,不支持 resourceId,因为仅支持其中一个。

ManagedIdentityCredentialResourceIdOptions

用于在 ManagedIdentityCredential 构造函数上发送的选项。 此变体支持 resourceId,不支持 clientId,因为仅支持其中一个。

MultiTenantTokenCredentialOptions

多租户应用程序的选项,这些应用程序允许其他允许的租户。

OnBehalfOfCredentialAssertionOptions

定义使用断言对 OnBehalfOfCredential 进行身份验证的参数。

OnBehalfOfCredentialCertificateOptions

定义使用证书对 OnBehalfOfCredential 进行身份验证的参数。

OnBehalfOfCredentialSecretOptions

定义参数,以使用机密对 OnBehalfOfCredential 进行身份验证。

TokenCachePersistenceOptions

在标识凭据中启用令牌缓存持久性的参数。

TokenCredential

表示能够提供身份验证令牌的凭据。

TokenCredentialOptions

提供用于配置标识库如何向 Microsoft Entra ID 发出身份验证请求的选项。

UsernamePasswordCredentialOptions

定义 UsernamePasswordCredential 类的选项。

VisualStudioCodeCredentialOptions

提供配置 Visual Studio Code 凭据的选项。

WorkloadIdentityCredentialOptions

WorkloadIdentityCredential 的选项

类型别名

BrokerOptions

在 InteractiveBrowserCredential 中启用 WAM 代理身份验证的参数。

BrowserLoginStyle

(仅限浏览器的功能)在身份验证流中使用的“登录样式” :

  • “重定向”会将用户重定向到身份验证页,然后在身份验证完成后将它们重定向回页面。
  • 启动重定向流时,“弹出窗口”将打开一个新的浏览器窗口。 用户的现有浏览器窗口不会离开当前页
ClientCertificateCredentialPEMConfiguration

ClientCertificateCredential的必需配置选项,其中包含 PEM 证书的字符串内容或 PEM 证书的路径。

DeviceCodePromptCallback

定义回调的签名,该回调将传递给 DeviceCodeCredential,以便向用户显示身份验证详细信息。

IdentityPlugin

Azure 标识插件的类型,即接受插件上下文的函数。

OnBehalfOfCredentialOptions

OnBehalfOfCredential 类的可选参数。

枚举

AzureAuthorityHosts

已知 Azure 颁发机构主机的列表

函数

deserializeAuthenticationRecord(string)

将以前序列化的身份验证记录从字符串反序列化为对象。

输入字符串必须包含以下属性:

  • “authority”
  • “homeAccountId”
  • “clientId”
  • “tenantId”
  • “username”
  • “version”

如果收到的版本不受支持,将引发错误。

目前,唯一可用的版本是:“1.0”,在序列化身份验证记录时始终会设置该版本。

getBearerTokenProvider(TokenCredential, string | string[], GetBearerTokenProviderOptions)

返回一个回调,该回调提供持有者令牌。 例如,持有者令牌可用于对请求进行身份验证,如下所示:

import { DefaultAzureCredential } from "@azure/identity";

const credential = new DefaultAzureCredential();
const scope = "https://cognitiveservices.azure.com/.default";
const getAccessToken = getBearerTokenProvider(credential, scope);
const token = await getAccessToken();

// usage
const request = createPipelineRequest({ url: "https://example.com" });
request.headers.set("Authorization", `Bearer ${token}`);
getDefaultAzureCredential()

返回 defaultAzureCredential的新实例。

serializeAuthenticationRecord(AuthenticationRecord)

AuthenticationRecord 序列化为字符串。

序列化身份验证记录的输出将包含以下属性:

  • “authority”
  • “homeAccountId”
  • “clientId”
  • “tenantId”
  • “username”
  • “version”

若要稍后将此字符串转换为序列化 AuthenticationRecord,请使用导出的函数 deserializeAuthenticationRecord()

useIdentityPlugin(IdentityPlugin)

使用其他功能扩展 Azure 标识。 从插件包传递插件,例如:

  • @azure/identity-cache-persistence:提供持久性令牌缓存
  • @azure/identity-vscode:提供 VisualStudioCodeCredential 的依赖项并启用它

例:

import { cachePersistencePlugin } from "@azure/identity-cache-persistence";

import { useIdentityPlugin, DefaultAzureCredential } from "@azure/identity";
useIdentityPlugin(cachePersistencePlugin);

// The plugin has the capability to extend `DefaultAzureCredential` and to
// add middleware to the underlying credentials, such as persistence.
const credential = new DefaultAzureCredential({
  tokenCachePersistenceOptions: {
    enabled: true
  }
});

函数详细信息

deserializeAuthenticationRecord(string)

将以前序列化的身份验证记录从字符串反序列化为对象。

输入字符串必须包含以下属性:

  • “authority”
  • “homeAccountId”
  • “clientId”
  • “tenantId”
  • “username”
  • “version”

如果收到的版本不受支持,将引发错误。

目前,唯一可用的版本是:“1.0”,在序列化身份验证记录时始终会设置该版本。

function deserializeAuthenticationRecord(serializedRecord: string): AuthenticationRecord

参数

serializedRecord

string

以前序列化为字符串的身份验证记录。

返回

AuthenticationRecord。

getBearerTokenProvider(TokenCredential, string | string[], GetBearerTokenProviderOptions)

返回一个回调,该回调提供持有者令牌。 例如,持有者令牌可用于对请求进行身份验证,如下所示:

import { DefaultAzureCredential } from "@azure/identity";

const credential = new DefaultAzureCredential();
const scope = "https://cognitiveservices.azure.com/.default";
const getAccessToken = getBearerTokenProvider(credential, scope);
const token = await getAccessToken();

// usage
const request = createPipelineRequest({ url: "https://example.com" });
request.headers.set("Authorization", `Bearer ${token}`);
function getBearerTokenProvider(credential: TokenCredential, scopes: string | string[], options?: GetBearerTokenProviderOptions): () => Promise<string>

参数

credential
TokenCredential

用于对请求进行身份验证的凭据。

scopes

string | string[]

持有者令牌所需的范围。

options
GetBearerTokenProviderOptions

用于配置令牌提供程序的选项。

返回

() => Promise<string>

提供持有者令牌的回调。

getDefaultAzureCredential()

返回 defaultAzureCredential的新实例。

function getDefaultAzureCredential(): TokenCredential

返回

serializeAuthenticationRecord(AuthenticationRecord)

AuthenticationRecord 序列化为字符串。

序列化身份验证记录的输出将包含以下属性:

  • “authority”
  • “homeAccountId”
  • “clientId”
  • “tenantId”
  • “username”
  • “version”

若要稍后将此字符串转换为序列化 AuthenticationRecord,请使用导出的函数 deserializeAuthenticationRecord()

function serializeAuthenticationRecord(record: AuthenticationRecord): string

参数

返回

string

useIdentityPlugin(IdentityPlugin)

使用其他功能扩展 Azure 标识。 从插件包传递插件,例如:

  • @azure/identity-cache-persistence:提供持久性令牌缓存
  • @azure/identity-vscode:提供 VisualStudioCodeCredential 的依赖项并启用它

例:

import { cachePersistencePlugin } from "@azure/identity-cache-persistence";

import { useIdentityPlugin, DefaultAzureCredential } from "@azure/identity";
useIdentityPlugin(cachePersistencePlugin);

// The plugin has the capability to extend `DefaultAzureCredential` and to
// add middleware to the underlying credentials, such as persistence.
const credential = new DefaultAzureCredential({
  tokenCachePersistenceOptions: {
    enabled: true
  }
});
function useIdentityPlugin(plugin: IdentityPlugin)

参数

plugin
IdentityPlugin

要注册的插件