ConfidentialClientApplication 类
- java.
lang. Object - com.
microsoft. aad. msal4j. AbstractApplicationBase - com.
microsoft. aad. msal4j. AbstractClientApplicationBase - com.
microsoft. aad. msal4j. ConfidentialClientApplication
- com.
- com.
- com.
实现
public class ConfidentialClientApplication
extends AbstractClientApplicationBase
implements IConfidentialClientApplication
用于获取机密客户端应用程序(Web 应用、Web API 和守护程序应用程序的令牌)的类。 有关详细信息,请参阅 IConfidentialClientApplication
有条件的线程安全
字段摘要
| 修饰符和类型 | 字段和描述 |
|---|---|
|
java.util.function.Function<App |
appTokenProvider
应用 |
方法摘要
| 修饰符和类型 | 方法和描述 |
|---|---|
|
java.util.concurrent.CompletableFuture<IAuthentication |
acquireToken(ClientCredentialParameters parameters)
从应用程序中配置的颁发机构为机密客户端本身获取令牌。 |
|
java.util.concurrent.CompletableFuture<IAuthentication |
acquireToken(OnBehalfOfParameters parameters)
从应用程序中配置的颁发机构获取此应用程序(通常是 Web API)的访问令牌,以便代表用户使用 On-Behalf-Of 流访问另一个下游受保护的 Web API。 |
| static Builder |
builder(String clientId, IClientCredential clientCredential)
创建机密 |
| protected com.nimbusds.oauth2.sdk.auth.ClientAuthentication | clientAuthentication() |
| protected com.nimbusds.oauth2.sdk.auth.ClientAuthentication | createClientAuthFromClientAssertion(ClientAssertion clientAssertion) |
| boolean | sendX5c() |
方法继承自 AbstractApplicationBase
方法继承自 AbstractClientApplicationBase
方法继承自 java.lang.Object
字段详细信息
appTokenProvider
public Function<AppTokenProviderParameters,CompletableFuture<TokenProviderResult>> appTokenProvider
AppTokenProvider 从提供访问令牌的函数创建凭据。 该函数必须是并发安全。 这仅用于允许Azure SDK缓存 MSI 令牌。 一般情况下,应用程序不起作用,因为令牌提供程序必须实现所有身份验证逻辑。
方法详细信息
acquireToken
public CompletableFuture<IAuthenticationResult> acquireToken(ClientCredentialParameters parameters)
从应用程序中配置的颁发机构为机密客户端本身获取令牌。 默认情况下,它将尝试从令牌缓存中获取令牌。 如果未找到令牌,则回退到通过 STS 中的客户端凭据获取令牌
参数:
acquireToken
public CompletableFuture<IAuthenticationResult> acquireToken(OnBehalfOfParameters parameters)
从应用程序中配置的颁发机构获取此应用程序(通常是 Web API)的访问令牌,以便代表用户使用 On-Behalf-Of 流访问另一个下游受保护的 Web API。 默认情况下,它将尝试从令牌缓存中获取令牌。 此机密客户端应用程序本身是使用在字段中提供的 UserAssertion acces 令牌调用的 OnBehalfOfParameters。
将内存中令牌缓存序列化/反序列化为永久存储时,每个传入访问令牌应有令牌缓存,其中传入访问令牌的哈希可用作令牌缓存密钥。 访问令牌通常仅在 1 小时内有效,而新的访问令牌 UserAssertion 意味着将有新的令牌缓存和新令牌缓存密钥。 为了避免永久存储填充过期的令牌缓存,应设置逐出策略。 例如,一个超过几个小时的令牌缓存可以被视为过期,因此会从序列化的令牌缓存中逐出。
参数:
builder
public static ConfidentialClientApplication.Builder builder(String clientId, IClientCredential clientCredential)
创建 ConfidentialClientApplication 的 Builder 实例
参数:
返回:
clientAuthentication
protected ClientAuthentication clientAuthentication()
替代:
ConfidentialClientApplication.clientAuthentication()createClientAuthFromClientAssertion
protected ClientAuthentication createClientAuthFromClientAssertion(ClientAssertion clientAssertion)
参数:
sendX5c
public boolean sendX5c()