你当前正在访问 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 Developer CLI 中使用以下命令之一进行本地认证:

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

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

AzurePipelinesCredential

该凭据设计用于Azure Pipelines中的服务连接,作为工作负载身份联合的设置。

AzurePowerShellCredential

该凭证将使用Azure PowerShell模块中当前登录的用户信息。 为此,它会读取用户访问令牌并用命令

ChainedTokenCredential

允许按顺序尝试多个 TokenCredential 实现,直到 getToken 方法之一返回访问令牌。 有关详细信息,请参阅 ChainedTokenCredential 概述

ClientAssertionCredential

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

ClientCertificateCredential

通过分配给应用注册的PEM编码证书,实现对Microsoft Entra ID的认证。 有关如何配置证书身份验证的详细信息,可在此处找到:

https://learn.microsoft.com/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客户端库的应用程序。 有关详细信息,请参阅 DefaultAzureCredential 概述

将按顺序尝试以下凭据类型:

有关这些凭据类型尝试身份验证的详细信息,请参阅这些凭据类型的文档。

以下示例演示如何使用该 requiredEnvVars 选项来确保在实例化之前 DefaultAzureCredential 设置某些环境变量。 如果任何指定的环境变量缺失或为空,则会抛出错误,从而阻止应用程序在没有必要配置的情况下继续执行。 它还演示了如何设置 AZURE_TOKEN_CREDENTIALS 环境变量以控制链中包含哪些凭据。

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

const credential = new DefaultAzureCredential({
  requiredEnvVars: [
    "AZURE_CLIENT_ID",
    "AZURE_TENANT_ID",
    "AZURE_CLIENT_SECRET",
    "AZURE_TOKEN_CREDENTIALS",
  ],
});
DeviceCodeCredential

通过用户输入设备代码https://microsoft.com/devicelogin,实现Microsoft Entra ID认证。

EnvironmentCredential

通过客户端秘密或证书实现对 Microsoft Entra ID 的认证。

InteractiveBrowserCredential

通过交互式登录流程,在网页浏览器内实现对 Microsoft Entra ID 的认证。

ManagedIdentityCredential

尝试使用部署环境中提供的托管标识进行身份验证。 这种认证类型可在 Azure 虚拟机、App Service 实例、Azure Functions 应用、Azure Kubernetes Services、Azure Service Fabric 实例以及 Azure Cloud Shell 内部工作。

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

OnBehalfOfCredential

通过代表流程实现认证以Microsoft Entra ID。

UsernamePasswordCredential

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

VisualStudioCodeCredential

通过Visual Studio Code中的Azure资源扩展登录的用户账户连接到Azure。 用户通过扩展登录后,此凭据可以共享扩展缓存的相同刷新令牌。

WorkloadIdentityCredential

工作负载身份认证是 Azure 中的一项功能,允许运行在虚拟机(VM)上的应用程序访问其他 Azure 资源,无需服务主体或托管身份。 使用工作负荷标识身份验证,应用程序使用自己的标识(而不是共享服务主体或托管标识)自行进行身份验证。 在底层,工作负载身份认证采用了服务账户凭证(SAC)的概念,这些凭证由 Azure 自动创建并安全存储在虚拟机中。 通过使用工作负荷标识身份验证,可以避免管理并轮换每个 VM 上每个应用程序的服务主体或托管标识。 此外,由于 SAC 是自动创建并由 Azure 管理的,你无需担心存储和保护敏感凭证本身。 WorkloadIdentityCredential 支持 Azure Kubernetes 上的 Microsoft Entra Workload ID 认证,并通过 Azure Kubernetes 环境中可用的 SAC 获取令牌。 更多信息请参阅 Microsoft Entra Workload 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/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,因为仅支持其中一个。

ManagedIdentityCredentialObjectIdOptions

用于在 ManagedIdentityCredential 构造函数上发送的选项。 此变体支持 objectId 作为构造函数参数。

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 证书的路径。

DefaultAzureCredentialEnvVars

DefaultAzureCredential 类通常支持的环境变量。

DeviceCodePromptCallback

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

IdentityPlugin

Azure Identity 插件的类型,一个接受插件上下文的函数。

OnBehalfOfCredentialOptions

OnBehalfOfCredential 类的可选参数。

枚举

AzureAuthorityHosts

已知的 Azure 权威主机列表

函数

deserializeAuthenticationRecord(string)

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

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

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

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

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

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

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

import { DefaultAzureCredential, getBearerTokenProvider } from "@azure/identity";
import { createPipelineRequest } from "@azure/core-rest-pipeline";

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 { useIdentityPlugin, DeviceCodeCredential } from "@azure/identity";

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

变量

AggregateAuthenticationErrorName

AggregateAuthenticationError 的 Error.name 值

AuthenticationErrorName

认证错误的 Error.name 值

CredentialUnavailableErrorName

CredentialUnavailable的 Error.name 价值

logger

身份包中所有客户端使用的AzureLogger

函数详细信息

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, getBearerTokenProvider } from "@azure/identity";
import { createPipelineRequest } from "@azure/core-rest-pipeline";

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 { useIdentityPlugin, DeviceCodeCredential } from "@azure/identity";

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

参数

plugin
IdentityPlugin

要注册的插件

变量详细信息

AggregateAuthenticationErrorName

AggregateAuthenticationError 的 Error.name 值

AggregateAuthenticationErrorName: "AggregateAuthenticationError"

类型

"AggregateAuthenticationError"

AuthenticationErrorName

认证错误的 Error.name 值

AuthenticationErrorName: "AuthenticationError"

类型

"AuthenticationError"

CredentialUnavailableErrorName

CredentialUnavailable的 Error.name 价值

CredentialUnavailableErrorName: "CredentialUnavailableError"

类型

"CredentialUnavailableError"

logger

身份包中所有客户端使用的AzureLogger

logger: AzureLogger

类型