PublicClientApplication 类

实现

public class PublicClientApplication
extends AbstractClientApplicationBase
implements IPublicClientApplication

用于获取公共客户端应用程序(桌面、移动版)的令牌的类。 有关详细信息,请参阅 IPublicClientApplication

有条件的线程安全

方法摘要

修饰符和类型 方法和描述
java.util.concurrent.CompletableFuture<IAuthenticationResult> acquireToken(DeviceCodeFlowParameters parameters)

使用设备代码流从颁发机构获取安全令牌。

java.util.concurrent.CompletableFuture<IAuthenticationResult> acquireToken(IntegratedWindowsAuthenticationParameters parameters)

通过集成Windows身份验证从应用程序中配置的颁发机构获取令牌。

java.util.concurrent.CompletableFuture<IAuthenticationResult> acquireToken(InteractiveRequestParameters parameters)

使用授权代码授予从颁发机构获取令牌。

java.util.concurrent.CompletableFuture<IAuthenticationResult> acquireToken(UserNamePasswordParameters parameters)

通过用户名/密码身份验证从应用程序中配置的颁发机构获取令牌。

java.util.concurrent.CompletableFuture<IAuthenticationResult> acquireTokenSilently(SilentParameters parameters)

如果存在且未过期,则从缓存中返回令牌,或使用缓存中存在的刷新令牌从颁发机构获取新令牌。

static Builder builder(String clientId)
protected com.nimbusds.oauth2.sdk.auth.ClientAuthentication clientAuthentication()
java.util.concurrent.CompletableFuture<java.lang.Void> removeAccount(IAccount account)

从缓存中删除 IAccount

方法继承自 AbstractApplicationBase

方法继承自 AbstractClientApplicationBase

方法继承自 java.lang.Object

java.lang.Object.clone java.lang.Object.equals java.lang.Object.finalize java.lang.Object.getClass java.lang.Object.hashCode java.lang.Object.notify java.lang.Object.notifyAll java.lang.Object.toString java.lang.Object.wait java.lang.Object.wait java.lang.Object.wait

方法详细信息

acquireToken

public CompletableFuture<IAuthenticationResult> acquireToken(DeviceCodeFlowParameters parameters)

使用设备代码流从颁发机构获取安全令牌。 Flow 专为无权访问浏览器或具有输入约束的设备而设计。 授权服务器向 DeviceCode 对象颁发验证码、最终用户代码和最终用户验证 URI。 DeviceCode 通过 deviceCodeConsumer 回调提供。 应指示最终用户使用其他设备连接到授权服务器以批准访问请求。 由于客户端无法接收传入请求,因此它会重复轮询授权服务器,直到最终用户完成审批过程。

参数:

parameters

acquireToken

public CompletableFuture<IAuthenticationResult> acquireToken(IntegratedWindowsAuthenticationParameters parameters)

通过集成Windows身份验证从应用程序中配置的颁发机构获取令牌。

参数:

parameters

acquireToken

public CompletableFuture<IAuthenticationResult> acquireToken(InteractiveRequestParameters parameters)

使用授权代码授予从颁发机构获取令牌。 尝试打开默认系统浏览器,用户可在其中以交互方式输入凭据、同意范围,并在 Azure AD 租户上启用此类策略时执行多重身份验证。 可以通过 InteractiveRequestParameters#systemBrowserOptions自定义系统浏览器的行为。 有关详细信息,请参阅 https://aka.ms/msal4j-interactive-request

参数:

parameters

acquireToken

public CompletableFuture<IAuthenticationResult> acquireToken(UserNamePasswordParameters parameters)

通过用户名/密码身份验证从应用程序中配置的颁发机构获取令牌。

参数:

parameters

acquireTokenSilently

public CompletableFuture<IAuthenticationResult> acquireTokenSilently(SilentParameters parameters)

如果存在且未过期,则从缓存中返回令牌,或使用缓存中存在的刷新令牌从颁发机构获取新令牌。

替代:

PublicClientApplication.acquireTokenSilently(SilentParameters parameters)

参数:

parameters

引发:

java.net.MalformedURLException

builder

public static PublicClientApplication.Builder builder(String clientId)

参数:

clientId - 在应用程序注册门户中注册的应用程序的客户端 ID(应用程序 ID)(portal.azure.com)

返回:

PublicClientApplication 的 Builder 实例

clientAuthentication

protected ClientAuthentication clientAuthentication()

替代:

PublicClientApplication.clientAuthentication()

removeAccount

public CompletableFuture<Void> removeAccount(IAccount account)

从缓存中删除 IAccount

替代:

PublicClientApplication.removeAccount(IAccount account)

参数:

account

适用于