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

ClientAssertionCredential 类

  • java.lang.Object
    • com.azure.identity.ClientAssertionCredential

实现

public class ClientAssertionCredential
implements TokenCredential

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

作为先决条件,需要服务主体才能使用此身份验证机制。 如果没有服务主体,请参阅 使用 Azure CLI 创建服务主体。

示例:构造简单的 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();

方法摘要

修饰符和类型 方法和描述
reactor.core.publisher.Mono<AccessToken> getToken(TokenRequestContext request)
AccessToken getTokenSync(TokenRequestContext request)

方法继承自 java.lang.Object

方法详细信息

getToken

public Mono getToken(TokenRequestContext request)

Parameters:

request

getTokenSync

public AccessToken getTokenSync(TokenRequestContext request)

Parameters:

request

适用于