@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 Developer CLI 中使用以下命令之一进行本地认证:
可能需要在特定时间段后重复此过程,具体取决于组织中的刷新令牌有效性。 通常,刷新令牌有效期为数周到几个月。 AzureDeveloperCliCredential 将提示你再次登录。 |
| AzurePipelinesCredential |
该凭据设计用于Azure Pipelines中的服务连接,作为工作负载身份联合的设置。 |
| AzurePowerShellCredential |
该凭证将使用Azure PowerShell模块中当前登录的用户信息。 为此,它会读取用户访问令牌并用命令 |
| ChainedTokenCredential |
允许按顺序尝试多个 |
| ClientAssertionCredential |
使用 JWT 断言对服务主体进行身份验证。 |
| ClientCertificateCredential |
通过分配给应用注册的PEM编码证书,实现对Microsoft Entra ID的认证。 有关如何配置证书身份验证的详细信息,可在此处找到: |
| ClientSecretCredential |
使用为应用注册生成的客户端秘密,实现对 Microsoft Entra ID 的认证。 有关如何配置客户端密码的详细信息,可在此处找到: |
| CredentialUnavailableError |
这表示链式凭据中尝试的凭据不能用作凭据。 它被捕获并链继续,而不是将此视为应停止链的错误 |
| DefaultAzureCredential |
提供默认的ChainedTokenCredential配置,适用于大多数使用Azure SDK客户端库的应用程序。 有关详细信息,请参阅 DefaultAzureCredential 概述。 将按顺序尝试以下凭据类型:
有关这些凭据类型尝试身份验证的详细信息,请参阅这些凭据类型的文档。 以下示例演示如何使用该
|
| 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 |
通过 |
| 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。 |
接口
类型别名
| BrokerOptions |
在 InteractiveBrowserCredential 中启用 WAM 代理身份验证的参数。 |
| BrowserLoginStyle |
(仅限浏览器的功能)在身份验证流中使用的“登录样式” :
|
| ClientCertificateCredentialPEMConfiguration |
ClientCertificateCredential的必需配置选项,其中包含 PEM 证书的字符串内容或 PEM 证书的路径。 |
| DefaultAzureCredentialEnvVars |
DefaultAzureCredential 类通常支持的环境变量。 |
| DeviceCodePromptCallback |
定义回调的签名,该回调将传递给 DeviceCodeCredential,以便向用户显示身份验证详细信息。 |
| IdentityPlugin |
Azure Identity 插件的类型,一个接受插件上下文的函数。 |
| OnBehalfOfCredentialOptions |
OnBehalfOfCredential 类的可选参数。 |
枚举
| AzureAuthorityHosts |
已知的 Azure 权威主机列表 |
函数
| deserialize |
将以前序列化的身份验证记录从字符串反序列化为对象。 输入字符串必须包含以下属性:
如果收到的版本不受支持,将引发错误。 目前,唯一可用的版本是:“1.0”,在序列化身份验证记录时始终会设置该版本。 |
| get |
返回一个回调,该回调提供持有者令牌。 例如,持有者令牌可用于对请求进行身份验证,如下所示:
|
| get |
返回 defaultAzureCredential |
| serialize |
将 序列化身份验证记录的输出将包含以下属性:
若要稍后将此字符串转换为序列化 |
| use |
扩展Azure身份并增加额外功能。 从插件包传递插件,例如:
例:
|
变量
| Aggregate |
AggregateAuthenticationError 的 Error.name 值 |
| Authentication |
认证错误的 Error.name 值 |
| Credential |
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
参数
- record
- AuthenticationRecord
返回
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"