AbstractClientApplicationBase.Builder<T> 类

类型参数

T

public abstract static class AbstractClientApplicationBase.Builder<T>
extends Builder<T>

字段摘要

修饰符和类型 字段和描述
protected boolean isInstanceDiscoveryEnabled

构造函数摘要

构造函数 说明
Builder(String clientId)

用于创建客户端应用程序生成器实例的构造函数

方法摘要

修饰符和类型 方法和描述
T aadInstanceDiscoveryResponse(String val)

设置实例发现响应数据,这些数据将用于确定租户发现终结点和颁发机构别名。

T applicationName(String val)

为遥测目的设置应用程序名称

T applicationVersion(String val)

为遥测目的设置应用程序版本

T authority(String val)

设置 MSAL 将从中获取安全令牌的身份验证机构或安全令牌服务(STS)的 URL。

T autoDetectRegion(boolean val)

指示库应尝试在提取实例发现元数据时发现应用程序正在运行的Azure区域。

T azureRegion(String val)

设置库将用于在令牌请求中设置颁发机构的格式的区域。

T b2cAuthority(String val)

设置 MSAL 将从中获取令牌的身份验证 B2C 颁发机构的 URL。有效的 B2C 颁发机构应如下所示:https://<。b2clogin.com/tenant>/<<policy> MSAL Java还支持旧的 B2C 颁发机构格式,如下所示:https://< host>/tfp/tenant>/<<policy>。但是,MSAL Java最终将停止支持旧格式。

T clientCapabilities(Set<String> capabilities)
T connectTimeoutForDefaultHttpClient(Integer val)

设置 HttpsURLConnection 连接 DefaultHttpClient中使用的连接超时值,如果使用自定义 HTTP 客户端,则不需要

T correlationId(String val)

设置 API 要使用的可选关联 ID。

T executorService(ExecutorService val)

设置要用于执行请求的执行程序服务。

T httpClient(IHttpClient val)

将客户端应用程序用于所有 HTTP 请求的 HTTP 客户端。

T instanceDiscovery(boolean val)

从历史上看,MSAL 将连接到位于“microsoftonlinehttps://login.”的中心终结点。com'' 获取某些元数据,尤其是在使用不熟悉的颁发机构时。

T logPii(boolean val)

设置日志Pii - 布尔值,该值确定是否将登录 Pii(个人身份信息)。

T oidcAuthority(String val)

设置与通用 OpenIdConnect 标识提供者对应的已知颁发机构。

T proxy(Proxy val)

设置客户端应用程序(MSAL4J 默认使用)用于 javax.net.ssl.HttpsURLConnection所有网络通信的代理配置。

T readTimeoutForDefaultHttpClient(Integer val)

设置 HttpsURLConnection 连接 DefaultHttpClient中使用的读取超时值,如果使用自定义 HTTP 客户端,则不需要

T setTokenCacheAccessAspect(ITokenCacheAccessAspect val)

设置要用于cache_data持久性的 IToken缓存访问方面。

T sslSocketFactory(SSLSocketFactory val)

将客户端应用程序用于所有网络通信的 SSLSocket工厂。

T validateAuthority(boolean val)

设置一个布尔值,告知应用程序是否需要根据已知颁发机构列表验证颁发机构。

方法继承自 Builder

方法继承自 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

字段详细信息

isInstanceDiscoveryEnabled

protected boolean isInstanceDiscoveryEnabled

构造函数详细信息

Builder

public Builder(String clientId)

用于创建客户端应用程序生成器实例的构造函数

参数:

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

方法详细信息

aadInstanceDiscoveryResponse

public T aadInstanceDiscoveryResponse(String val)

设置实例发现响应数据,这些数据将用于确定租户发现终结点和颁发机构别名。

请注意,即使 AbstractClientApplicationBase#validateAuthority 设置为 true,颁发机构验证也不会完成。

有关详细信息,请参阅 https://aka.ms/msal4j-instance-discovery

参数:

val - 来自 AAD 实例发现终结点的响应的 JSON 格式值

返回:

调用方法的 Builder 实例

applicationName

public T applicationName(String val)

为遥测目的设置应用程序名称

参数:

val - 应用程序名称

返回:

调用方法的 Builder 实例

applicationVersion

public T applicationVersion(String val)

为遥测目的设置应用程序版本

参数:

val - 应用程序版本

返回:

调用方法的 Builder 实例

authority

public T authority(String val)

设置 MSAL 将从中获取安全令牌的身份验证机构或安全令牌服务(STS)的 URL。 默认值为 AbstractClientApplicationBase#DEFAULT_AUTHORITY

参数:

val - 颁发机构的字符串值

返回:

调用方法的 Builder 实例

引发:

java.net.MalformedURLException - 如果 val 格式不正确,则为 URL

autoDetectRegion

public T autoDetectRegion(boolean val)

指示库应尝试在提取实例发现元数据时发现应用程序正在运行的Azure区域。 只有在Azure环境中运行(例如Azure VM 或其他服务),或者环境具有名为REGION_NAME的环境变量时,才能检测到区域。 尽管可以同时在此处启用自动检测和特定区域 AbstractClientApplicationBase#azureRegion ,但如果存在不匹配,则设置 AbstractClientApplicationBase#azureRegion 的区域将优先。 有关支持的方案的详细信息,请参阅此处: https://aka.ms/msal4j-azure-regions

参数:

val - 布尔值 (默认值为 false)

返回:

调用方法的 Builder 实例

azureRegion

public T azureRegion(String val)

设置库将用于在令牌请求中设置颁发机构的格式的区域。 如果给定有效的Azure区域,库将尝试在区域 ESTS-R 终结点而不是全局 ESTS 终结点发出令牌请求。 区域必须是有效的Azure区域,并且应使用其短名称,例如美国西部Azure区域的“westus”、美国中部Azure区域的“centralus”等。虽然你可以在此处设置特定区域并启用自动检测AbstractClientApplicationBase#autoDetectRegion,但在此处设置的特定区域将优先于自动检测的区域(如果不匹配)。 有关支持的方案的详细信息,请参阅此处: https://aka.ms/msal4j-azure-regions

参数:

val - 字符串区域名称

返回:

调用方法的 Builder 实例

b2cAuthority

public T b2cAuthority(String val)

设置验证 B2C 颁发机构的 URL,MSAL 将从中获取令牌有效的 B2C 颁发机构应如下所示:https://< something.b2clogin.com/< 租户>/<策略> MSAL Java还支持旧版 B2C 颁发机构格式,如下所示:https://< host>/tfp/tenant>/<<policy>。但是,MSAL Java最终将停止支持旧格式。 有关如何迁移到新格式的信息,请参阅此处: https://aka.ms/msal4j-b2c

参数:

val - validateAuthority 的布尔值

返回:

调用方法的 Builder 实例

引发:

java.net.MalformedURLException

clientCapabilities

public T clientCapabilities(Set<String> capabilities)

参数:

capabilities

connectTimeoutForDefaultHttpClient

public T connectTimeoutForDefaultHttpClient(Integer val)

设置 HttpsURLConnection 连接 DefaultHttpClient中使用的连接超时值,如果使用自定义 HTTP 客户端,则不需要

替代:

AbstractClientApplicationBase.Builder<T>.connectTimeoutForDefaultHttpClient(Integer val)

参数:

val - 超时值(以毫秒为单位)

返回:

调用方法的 Builder 实例

correlationId

public T correlationId(String val)

设置 API 要使用的可选关联 ID。 如果未提供,API 将生成随机 UUID。

替代:

AbstractClientApplicationBase.Builder<T>.correlationId(String val)

参数:

val - 关联 ID 的字符串值

返回:

调用方法的 Builder 实例

executorService

public T executorService(ExecutorService val)

设置要用于执行请求的执行程序Service。 开发人员负责维护 ExecutorService 的生命周期。

替代:

AbstractClientApplicationBase.Builder<T>.executorService(ExecutorService val)

参数:

val - ExecutorService 的实例

返回:

调用方法的 Builder 实例

httpClient

public T httpClient(IHttpClient val)

将客户端应用程序用于所有 HTTP 请求的 HTTP 客户端。 允许对 HTTP 客户端进行精细配置。

替代:

AbstractClientApplicationBase.Builder<T>.httpClient(IHttpClient val)

参数:

val - 实现 IHttpClient

返回:

调用方法的 Builder 实例

instanceDiscovery

public T instanceDiscovery(boolean val)

从历史上看,MSAL 将连接到位于“'https://login.microsoftonline.com”的中心终结点来获取某些元数据,尤其是在使用不熟悉的颁发机构时。 此行为称为实例发现。 此参数默认为 true,启用实例发现。 如果你事先不知道某些当局,但仍希望 MSAL 接受你提供的任何授权,则可以使用“False”无条件地禁用实例发现。

参数:

val

logPii

public T logPii(boolean val)

设置 logPii - 布尔值,该值确定是否将登录 Pii(个人身份信息)。 默认值为 false。

替代:

AbstractClientApplicationBase.Builder<T>.logPii(boolean val)

参数:

val - logPii 的布尔值

返回:

调用方法的 Builder 实例

oidcAuthority

public T oidcAuthority(String val)

设置与通用 OpenIdConnect 标识提供者对应的已知颁发机构。 MSAL 会将“.known/openid-configuration”追加到颁发机构,以检索 OIDC 元数据并确定终结点。

参数:

val - 颁发机构的字符串值

返回:

调用方法的 Builder 实例

引发:

java.net.MalformedURLException

proxy

public T proxy(Proxy val)

设置客户端应用程序(MSAL4J 默认使用)用于 javax.net.ssl.HttpsURLConnection所有网络通信的代理配置。 如果未传入代理值,则使用系统定义的属性。 如果在客户端应用程序(通过 ClientApplication.builder()httpClient()上设置了 HTTP 客户端,则应在传入的 HTTP 客户端对象上完成代理配置,而不是通过此方法完成。

替代:

AbstractClientApplicationBase.Builder<T>.proxy(Proxy val)

参数:

val - 代理实例

返回:

调用方法的 Builder 实例

readTimeoutForDefaultHttpClient

public T readTimeoutForDefaultHttpClient(Integer val)

设置 HttpsURLConnection 连接 DefaultHttpClient中使用的读取超时值,如果使用自定义 HTTP 客户端,则不需要

替代:

AbstractClientApplicationBase.Builder<T>.readTimeoutForDefaultHttpClient(Integer val)

参数:

val - 超时值(以毫秒为单位)

返回:

调用方法的 Builder 实例

setTokenCacheAccessAspect

public T setTokenCacheAccessAspect(ITokenCacheAccessAspect val)

设置要用于cache_data持久性的 ITokenCacheAccessAspect。

参数:

val - ITokenCacheAccessAspect 的实例

返回:

调用方法的 Builder 实例

sslSocketFactory

public T sslSocketFactory(SSLSocketFactory val)

将客户端应用程序用于所有网络通信的 SSLSocketFactory。 如果在客户端应用程序(通过 ClientApplication.builder()httpClient()上设置了 HTTP 客户端,则应在 HTTP 客户端上完成任何 SSL 配置,而不是通过此方法完成。

替代:

AbstractClientApplicationBase.Builder<T>.sslSocketFactory(SSLSocketFactory val)

参数:

val - SSLSocketFactory 的实例

返回:

调用方法的 Builder 实例

validateAuthority

public T validateAuthority(boolean val)

设置一个布尔值,告知应用程序是否需要根据已知颁发机构列表验证颁发机构。 仅当:1 - 它是Azure Active Directory颁发机构(而不是 B2C 或 ADFS)2 时验证颁发机构 - 未通过 设置实例发现元数据

默认值为真。

参数:

val - validateAuthority 的布尔值

返回:

调用方法的 Builder 实例

适用于