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

MultipleAccountPublicClientApplication 类

public class MultipleAccountPublicClientApplication extends PublicClientApplication implements IMultipleAccountPublicClientApplication

构造函数摘要

构造函数 说明
MultipleAccountPublicClientApplication(@NonNull PublicClientApplicationConfiguration config)

方法摘要

修饰符和类型 方法和描述
void acquireToken(@NonNull final Activity activity, @NonNull final String[] scopes, @Nullable final String loginHint, @NonNull final AuthenticationCallback callback)

以交互方式获取令牌,将弹出 WebUI。 交互式流将跳过缓存查找。

IAuthenticationResult acquireTokenSilent(@NonNull String[] scopes, @NonNull IAccount account, @NonNull String authority)

执行获取令牌无提示调用。 如果缓存中存在有效的访问令牌,则 sdk 将返回访问令牌:如果不存在有效的访问令牌,sdk 将尝试查找刷新令牌并使用刷新令牌获取新的访问令牌。 如果刷新令牌不存在或刷新失败,将通过回调发送回异常。

void acquireTokenSilentAsync(@NonNull final String[] scopes, @NonNull final IAccount account, @NonNull final String authority, @NonNull final SilentAuthenticationCallback callback)

执行获取令牌无提示调用。 如果缓存中存在有效的访问令牌,则 sdk 将返回访问令牌:如果不存在有效的访问令牌,sdk 将尝试查找刷新令牌并使用刷新令牌获取新的访问令牌。 如果刷新令牌不存在或刷新失败,将通过回调发送回异常。

void getAccount(@NonNull final String identifier, @NonNull final GetAccountCallback callback)

检索与标识符匹配的 IAccount 对象。 标识符可以是 homeAccountIdentifier、localAccountIdentifier 或 username。

IAccount getAccount(@NonNull String identifier)

检索与标识符匹配的 IAccount 对象。 标识符可以是 homeAccountIdentifier、localAccountIdentifier 或 username。

List<IAccount> getAccounts()

返回此应用程序具有 RefreshTokens 的对象列表 IAccount

void getAccounts(@NonNull final LoadAccountsCallback callback)

异步返回此应用程序具有 RefreshTokens 的对象列表 IAccount

void removeAccount(@Nullable final IAccount account, @NonNull final RemoveAccountCallback callback)

删除提供的 IAccount 的帐户和凭据 (令牌) 。

boolean removeAccount(@Nullable IAccount account)

删除提供的 IAccount 的帐户和凭据 (令牌) 。

继承成员

PublicClientApplication.acquireToken(@NonNull final Activity activity, @NonNull final String[] scopes, @NonNull final AuthenticationCallback callback) PublicClientApplication.acquireToken(@NonNull final AcquireTokenParameters acquireTokenParameters) PublicClientApplication.acquireTokenSilent( @NonNull final AcquireTokenSilentParameters acquireTokenSilentParameters) PublicClientApplication.acquireTokenSilentAsync( @NonNull final AcquireTokenSilentParameters acquireTokenSilentParameters) PublicClientApplication.acquireTokenWithDeviceCode(@Nullable String[] scopes, @NonNull final DeviceCodeFlowCallback callback) IPublicClientApplication.acquireTokenWithDeviceCode(@NonNull String[] scopes, @NonNull final DeviceCodeFlowCallback callback) PublicClientApplication.buildAcquireTokenSilentParameters(@NonNull final String[] scopes, @NonNull final IAccount account, @NonNull final String authority, final boolean forceRefresh, @Nullable final ClaimsRequest claimsRequest, @NonNull final SilentAuthenticationCallback callback) PublicClientApplication.create(@NonNull final Context context, final int configFileResourceId, @NonNull final ApplicationCreatedListener listener) PublicClientApplication.create(@NonNull final Context context, @NonNull final File configFile, @NonNull final ApplicationCreatedListener listener) PublicClientApplication.create(@NonNull final Context context, @NonNull final String clientId, @Nullable final String authority, @NonNull final String redirectUri, @NonNull final ApplicationCreatedListener listener) PublicClientApplication.create(@NonNull final Context context, final int configFileResourceId) PublicClientApplication.createMultipleAccountPublicClientApplication(@NonNull final Context context, final int configFileResourceId, @NonNull final IMultipleAccountApplicationCreatedListener listener) PublicClientApplication.createMultipleAccountPublicClientApplication(@NonNull final Context context, @NonNull final File configFile, @NonNull final IMultipleAccountApplicationCreatedListener listener) PublicClientApplication.createMultipleAccountPublicClientApplication(@NonNull final Context context, @NonNull final int configFileResourceId) PublicClientApplication.createMultipleAccountPublicClientApplication(@NonNull final Context context, @NonNull final File configFile) PublicClientApplication.createSingleAccountPublicClientApplication(@NonNull final Context context, final int configFileResourceId, @NonNull final ISingleAccountApplicationCreatedListener listener) PublicClientApplication.createSingleAccountPublicClientApplication(@NonNull final Context context, @NonNull final File configFile, @NonNull final ISingleAccountApplicationCreatedListener listener) PublicClientApplication.createSingleAccountPublicClientApplication( @NonNull final Context context, final int configFileResourceId) PublicClientApplication.createSingleAccountPublicClientApplication( @NonNull final Context context, @Nullable final File configFile) PublicClientApplication.generateSignedHttpRequest(@NonNull final IAccount account, @NonNull final PoPAuthenticationScheme popParameters) PublicClientApplication.generateSignedHttpRequest(@NonNull final IAccount account, @NonNull final PoPAuthenticationScheme popParameters, @NonNull final SignedHttpRequestRequestCallback callback) PublicClientApplication.getCommandCallback( @NonNull final SilentAuthenticationCallback authenticationCallback, @NonNull final TokenParameters tokenParameters) PublicClientApplication.getConfiguration() PublicClientApplication.getMsaFamilyRefreshToken(@NonNull final String identifier) ITokenShare.getMsaFamilyRefreshToken(String identifier) PublicClientApplication.getMsaFamilyRefreshTokenWithMetadata(@NonNull final String identifier) ITokenShare.getMsaFamilyRefreshTokenWithMetadata(String identifier) PublicClientApplication.getOrgIdFamilyRefreshToken(@NonNull final String identifier) ITokenShare.getOrgIdFamilyRefreshToken(String identifier) PublicClientApplication.getOrgIdFamilyRefreshTokenWithMetadata(@NonNull final String identifier) ITokenShare.getOrgIdFamilyRefreshTokenWithMetadata(String identifier) PublicClientApplication.getSdkVersion() PublicClientApplication.homeAccountMatcher PublicClientApplication.isSharedDevice() PublicClientApplication.localAccountMatcher PublicClientApplication.mPublicClientConfiguration PublicClientApplication.mTokenShareUtility PublicClientApplication.postAuthResult(@NonNull final ILocalAuthenticationResult localAuthenticationResult, @NonNull final TokenParameters requestParameters, @NonNull final SilentAuthenticationCallback authenticationCallback) PublicClientApplication.PublicClientApplication(@NonNull final PublicClientApplicationConfiguration configFile) PublicClientApplication.saveMsaFamilyRefreshToken(@NonNull final String refreshToken) ITokenShare.saveMsaFamilyRefreshToken(String refreshToken) PublicClientApplication.saveOrgIdFamilyRefreshToken(@NonNull final String ssoStateSerializerBlob) ITokenShare.saveOrgIdFamilyRefreshToken(String ssoStateSerializerBlob) PublicClientApplication.showExpectedMsalRedirectUriInfo(Activity activity) PublicClientApplication.usernameMatcher PublicClientApplication.validateAcquireTokenParameters(AcquireTokenParameters parameters) PublicClientApplication.validateAcquireTokenSilentParameters(AcquireTokenSilentParameters parameters)

构造函数详细信息

MultipleAccountPublicClientApplication

protected MultipleAccountPublicClientApplication(@NonNull PublicClientApplicationConfiguration config)

Parameters:

config

方法详细信息

acquireToken

public void acquireToken(@NonNull final Activity activity, @NonNull final String[] scopes, @Nullable final String loginHint, @NonNull final AuthenticationCallback callback)

以交互方式获取令牌,将弹出 WebUI。 交互式流将跳过缓存查找。

Overrides:

MultipleAccountPublicClientApplication.acquireToken(@NonNull final Activity activity, @NonNull final String[] scopes, @Nullable final String loginHint, @NonNull final AuthenticationCallback callback)

Parameters:

activity - 非 null Activity ,将用作启动 的 com.microsoft.identity.common.internal.providers.oauth2.AuthorizationActivity父活动。
scopes - 要为访问令牌请求的范围的非 null 数组。 MSAL 始终发送作用域“openid profile offline_access”。 请勿在 scope 参数中包含其中任何范围。
loginHint - 可选。 如果提供 ,将用作发送用于对用户进行身份验证的查询参数,该查询参数将预填充 UPN。
callback - 要重新接收结果的非 null AuthenticationCallback 。 1) 如果用户通过按设备后退按钮取消流,结果将通过 发送回 onCancel()。 2) 如果 sdk 成功接收回令牌,则结果将通过 3 发送回 onSuccess(final IAuthenticationResult authenticationResult)) 所有其他错误将通过 发送回 onError(final MsalException exception)

acquireTokenSilent

public IAuthenticationResult acquireTokenSilent(@NonNull String[] scopes, @NonNull IAccount account, @NonNull String authority)

执行获取令牌无提示调用。 如果缓存中存在有效的访问令牌,则 sdk 将返回访问令牌:如果不存在有效的访问令牌,sdk 将尝试查找刷新令牌并使用刷新令牌获取新的访问令牌。 如果刷新令牌不存在或刷新失败,将通过回调发送回异常。

Overrides:

MultipleAccountPublicClientApplication.acquireTokenSilent(@NonNull String[] scopes, @NonNull IAccount account, @NonNull String authority)

Parameters:

scopes - 要为访问令牌请求的范围的非 null 数组。 MSAL 始终发送作用域“openid profile offline_access”。 请勿在 scope 参数中包含其中任何范围。
account -

IAccount 表示要以无提示方式为其请求令牌的帐户。

authority - 颁发令牌的权限。

acquireTokenSilentAsync

public void acquireTokenSilentAsync(@NonNull final String[] scopes, @NonNull final IAccount account, @NonNull final String authority, @NonNull final SilentAuthenticationCallback callback)

执行获取令牌无提示调用。 如果缓存中存在有效的访问令牌,则 sdk 将返回访问令牌:如果不存在有效的访问令牌,sdk 将尝试查找刷新令牌并使用刷新令牌获取新的访问令牌。 如果刷新令牌不存在或刷新失败,将通过回调发送回异常。

Overrides:

MultipleAccountPublicClientApplication.acquireTokenSilentAsync(@NonNull final String[] scopes, @NonNull final IAccount account, @NonNull final String authority, @NonNull final SilentAuthenticationCallback callback)

Parameters:

scopes - 要为访问令牌请求的范围的非 null 数组。 MSAL 始终发送作用域“openid profile offline_access”。 请勿在 scope 参数中包含其中任何范围。
account -

IAccount 表示要以无提示方式为其请求令牌的帐户。

authority - 颁发令牌的权限。
callback -

SilentAuthenticationCallback 用于发送结果的 。 成功结果将通过 发送回 onSuccess(final IAuthenticationResult authenticationResult)。 失败案例将通过 { 发送回 onError(final MsalException exception)

getAccount

public void getAccount(@NonNull final String identifier, @NonNull final GetAccountCallback callback)

检索与标识符匹配的 IAccount 对象。 标识符可以是 homeAccountIdentifier、localAccountIdentifier 或 username。

Overrides:

MultipleAccountPublicClientApplication.getAccount(@NonNull final String identifier, @NonNull final GetAccountCallback callback)

Parameters:

identifier - 标识符的字符串
callback - 此操作完成后通知的回调。

getAccount

public IAccount getAccount(@NonNull String identifier)

检索与标识符匹配的 IAccount 对象。 标识符可以是 homeAccountIdentifier、localAccountIdentifier 或 username。

Overrides:

MultipleAccountPublicClientApplication.getAccount(@NonNull String identifier)

Parameters:

identifier - 标识符的字符串

getAccounts

public List getAccounts()

返回此应用程序具有 RefreshTokens 的对象列表 IAccount

Overrides:

MultipleAccountPublicClientApplication.getAccounts()

getAccounts

public void getAccounts(@NonNull final LoadAccountsCallback callback)

异步返回此应用程序具有 RefreshTokens 的对象列表 IAccount

Overrides:

MultipleAccountPublicClientApplication.getAccounts(@NonNull final LoadAccountsCallback callback)

Parameters:

callback - 此操作完成后通知的回调。

removeAccount

public void removeAccount(@Nullable final IAccount account, @NonNull final RemoveAccountCallback callback)

删除提供的 IAccount 的帐户和凭据 (令牌) 。

Overrides:

MultipleAccountPublicClientApplication.removeAccount(@Nullable final IAccount account, @NonNull final RemoveAccountCallback callback)

Parameters:

account - 应删除其条目和关联令牌的 IAccount。
callback

removeAccount

public boolean removeAccount(@Nullable IAccount account)

删除提供的 IAccount 的帐户和凭据 (令牌) 。

Overrides:

MultipleAccountPublicClientApplication.removeAccount(@Nullable IAccount account)

Parameters:

account - 应删除其条目和关联令牌的 IAccount。

Returns:

如果删除了帐户,则为 True。 否则为 False。

适用于