你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
@azure/identity package
类
AggregateAuthenticationError |
提供一个 |
AuthenticationError |
提供有关使用 Azure Active Directory 进行身份验证失败的详细信息。
|
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 中进行身份验证:
可能需要在特定时间段后重复此过程,具体取决于组织中的刷新令牌有效性。 通常,刷新令牌有效期为数周到几个月。 AzureDeveloperCliCredential 将提示你再次登录。 |
AzurePipelinesCredential |
此凭据旨在用于 Azure Pipelines 中,服务连接作为工作负荷标识联合的设置。 |
AzurePowerShellCredential |
此凭据将使用 Azure PowerShell 模块中当前登录的用户信息。 为此,它将使用 Azure PowerShell 命令读取用户访问令牌并过期时间 |
ChainedTokenCredential |
允许按顺序尝试多个 |
ClientAssertionCredential |
使用 JWT 断言对服务主体进行身份验证。 |
ClientCertificateCredential |
允许使用分配给应用注册的 PEM 编码证书Microsoft Entra ID 进行身份验证。 有关如何配置证书身份验证的详细信息,可在此处找到: |
ClientSecretCredential |
允许使用为应用注册生成的客户端密码Microsoft Entra ID 进行身份验证。 有关如何配置客户端密码的详细信息,可在此处找到: |
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。 用户通过扩展登录后,此凭据可以共享扩展缓存的相同刷新令牌。 此凭据不适用于 |
WorkloadIdentityCredential |
工作负荷标识身份验证是 Azure 中的一项功能,它允许在虚拟机(VM)上运行的应用程序访问其他 Azure 资源,而无需服务主体或托管标识。 使用工作负荷标识身份验证,应用程序使用自己的标识(而不是共享服务主体或托管标识)自行进行身份验证。 在后台,工作负荷标识身份验证使用服务帐户凭据(SAC)的概念,该服务帐户凭据(SAC)由 Azure 自动创建,并安全地存储在 VM 中。 通过使用工作负荷标识身份验证,可以避免管理并轮换每个 VM 上每个应用程序的服务主体或托管标识。 此外,由于 SAC 由 Azure 自动创建和管理,因此无需担心存储和保护敏感凭据本身。 WorkloadIdentityCredential 支持在 Azure Kubernetes 上Microsoft Entra Workload ID 身份验证,并使用 Azure Kubernetes 环境中提供的 SAC 获取令牌。 有关详细信息,请参阅 Microsoft Entra 工作负荷 ID。 |
接口
类型别名
BrokerOptions |
在 InteractiveBrowserCredential 中启用 WAM 代理身份验证的参数。 |
BrowserLoginStyle |
(仅限浏览器的功能)在身份验证流中使用的“登录样式” :
|
ClientCertificateCredentialPEMConfiguration |
ClientCertificateCredential的必需配置选项,其中包含 PEM 证书的字符串内容或 PEM 证书的路径。 |
DeviceCodePromptCallback |
定义回调的签名,该回调将传递给 DeviceCodeCredential,以便向用户显示身份验证详细信息。 |
IdentityPlugin |
Azure 标识插件的类型,即接受插件上下文的函数。 |
OnBehalfOfCredentialOptions |
OnBehalfOfCredential 类的可选参数。 |
枚举
AzureAuthorityHosts |
已知 Azure 颁发机构主机的列表 |
函数
deserialize |
将以前序列化的身份验证记录从字符串反序列化为对象。 输入字符串必须包含以下属性:
如果收到的版本不受支持,将引发错误。 目前,唯一可用的版本是:“1.0”,在序列化身份验证记录时始终会设置该版本。 |
get |
返回一个回调,该回调提供持有者令牌。 例如,持有者令牌可用于对请求进行身份验证,如下所示:
|
get |
返回 defaultAzureCredential |
serialize |
将 序列化身份验证记录的输出将包含以下属性:
若要稍后将此字符串转换为序列化 |
use |
使用其他功能扩展 Azure 标识。 从插件包传递插件,例如:
例:
|
函数详细信息
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
参数
- record
- AuthenticationRecord
返回
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
要注册的插件