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

ClientAssertionCredentialBuilder 类

public class ClientAssertionCredentialBuilder
extends AadCredentialBuilderBase<ClientAssertionCredentialBuilder>

用于实例化 的 ClientAssertionCredentialFluent 凭据生成器。

通过 ClientAssertionCredential 客户端断言和服务主体身份验证获取令牌。 此身份验证方法为客户端应用程序提供了一种安全且可缩放的方式来访问 Azure 资源,而无需用户提供其凭据。 它通常用于客户端应用程序需要代表用户访问 Azure 资源的情况,例如在多层应用程序体系结构中。 在此身份验证方法中,客户端应用程序创建一个 JSON Web 令牌 (JWT) ,其中包含有关服务主体 (的信息,例如其客户端 ID 和租户 ID) ,并使用客户端密码对其进行签名。 然后,客户端将此令牌发送到 Azure Active Directory (Azure AD) ,作为其标识证明。 Azure AD 验证令牌签名,并检查服务主体是否具有访问所请求的 Azure 资源所需的权限。 如果令牌有效且服务主体已授权,则 Azure AD 会颁发一个访问令牌,客户端应用程序可以使用该令牌来访问请求的资源。 使用 ClientAssertionCredential 服务主体/已注册的 AAD 应用程序的客户端断言获取访问令牌。 此凭据需要服务主体的 tenantId、clientId 和 clientAssertion 才能获取访问令牌。 它可以在 Azure 托管环境和本地开发环境中用于身份验证。

示例:构造简单的 ClientAssertionCredential

下面的代码示例演示如何创建 ClientAssertionCredential,使用 ClientAssertionCredentialBuilder 对其进行配置。 创建 tenantId需要 ClientAssertionCredentialclientIdcertificate 参数。 创建此凭据后,它可能会作为“credential”参数传递到许多 Azure SDK for Java 客户端生成器的生成器中。

TokenCredential clientAssertionCredential = new ClientAssertionCredentialBuilder()
     .tenantId(tenantId)
     .clientId(clientId)
     .clientAssertion(() -> "<Client-Assertion>")
     .build();

示例:在代理后面构造 ClientAssertionCredential

下面的代码示例演示如何创建 ClientAssertionCredential,使用 ClientAssertionCredentialBuilder 对其进行配置。 创建 tenantId需要 ClientAssertionCredentialclientIdclientAssertion 参数。 proxyOptions可以选择性地配置为以代理为目标。 创建此凭据后,它可能会作为“credential”参数传递到许多 Azure SDK for Java 客户端生成器的生成器中。

TokenCredential assertionCredential = new ClientAssertionCredentialBuilder()
     .tenantId(tenantId)
     .clientId(clientId)
     .clientAssertion(() -> "<Client-Assertion>")
     .proxyOptions(new ProxyOptions(Type.HTTP, new InetSocketAddress("10.21.32.43", 5465)))
     .build();

构造函数摘要

构造函数 说明
ClientAssertionCredentialBuilder()

方法摘要

修饰符和类型 方法和描述
ClientAssertionCredential build()

使用当前配置创建新的 ClientAssertionCredential

ClientAssertionCredentialBuilder clientAssertion(Supplier<String> clientAssertionSupplier)

设置包含逻辑的供应商,以在调用时提供客户端断言。

ClientAssertionCredentialBuilder tokenCachePersistenceOptions(TokenCachePersistenceOptions tokenCachePersistenceOptions)

配置永久性共享令牌缓存选项,并启用默认禁用的永久性令牌缓存。

方法继承自 AadCredentialBuilderBase

方法继承自 CredentialBuilderBase

方法继承自 java.lang.Object

构造函数详细信息

ClientAssertionCredentialBuilder

public ClientAssertionCredentialBuilder()

方法详细信息

build

public ClientAssertionCredential build()

使用当前配置创建新的 ClientAssertionCredential

Returns:

具有 ClientAssertionCredential 当前配置的 。

clientAssertion

public ClientAssertionCredentialBuilder clientAssertion(Supplier clientAssertionSupplier)

设置包含逻辑的供应商,以在调用时提供客户端断言。

Parameters:

clientAssertionSupplier - 提供客户端断言的供应商。

Returns:

此生成器的更新实例。

tokenCachePersistenceOptions

public ClientAssertionCredentialBuilder tokenCachePersistenceOptions(TokenCachePersistenceOptions tokenCachePersistenceOptions)

配置永久性共享令牌缓存选项,并启用默认禁用的永久性令牌缓存。 如果已配置,凭据会将令牌存储在保留到计算机的缓存中,该缓存对当前用户进行保护,可由其他凭据和进程共享。

Parameters:

tokenCachePersistenceOptions - 令牌缓存配置选项

Returns:

此生成器的更新实例,其中配置了令牌缓存选项。

适用于