AbstractClientApplicationBase.Builder<T> 類別

類型參數

T

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

欄位摘要

修飾詞與類型 欄位與描述
protected boolean isInstanceDiscoveryEnabled

建構函式摘要

建構函式 Description
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 權威機構的網址 有效的 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)

設定可選的關聯 ID,讓 API 使用。

T executorService(ExecutorService val)

設定執行服務以執行請求。

T httpClient(IHttpClient val)

設定 HTTP 用戶端,讓用戶端應用程式能處理所有 HTTP 請求。

T instanceDiscovery(boolean val)

歷史上,MSAL 會連接到位於「https://login.microsoftonline」的中央端點。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)

設定 IToken快取存取面向用於cache_data持久性。

T sslSocketFactory(SSLSocketFactory val)

設定 SSLSocketFactory 供用戶端應用程式用於所有網路通訊。

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 - 應用程式註冊入口網站(portal.azure.com)中註冊的客戶ID(Application ID)

方法詳細資料

aadInstanceDiscoveryResponse

public T aadInstanceDiscoveryResponse(String val)

設定實例發現回應資料,用於判定租戶發現端點及權限別名。

請注意,即使 AbstractClientApplicationBase#validateAuthority 設定為 true,權威驗證也不會進行。

如需詳細資訊,請參閱 https://aka.ms/msal4j-instance-discovery

參數:

val - AAD 實例發現端點的回應 JSON 格式值

傳回:

該方法被呼叫的建構者實例

applicationName

public T applicationName(String val)

設定應用程式名稱以供遙測用途

參數:

val - 應用程式名稱

傳回:

該方法被呼叫的建構者實例

applicationVersion

public T applicationVersion(String val)

設定應用程式版本以供遙測用途

參數:

val - 應用程式版本

傳回:

該方法被呼叫的建構者實例

authority

public T authority(String val)

設定 MSAL 取得安全權杖的認證權限或安全憑證服務(STS)的 URL。 預設值是 AbstractClientApplicationBase#DEFAULT_AUTHORITY

參數:

val - 權威的字串值

傳回:

該方法被呼叫的建構者實例

擲回:

java.net.MalformedURLException - 如果 val 是格式錯誤的 URL。

autoDetectRegion

public T autoDetectRegion(boolean val)

表示函式庫在擷取實例發現元資料時,應嘗試發現應用程式所處的 Azure 區域。 區域僅在Azure環境中運行時,例如Azure虛擬機或其他服務,或環境中有名為 REGION_NAME 的環境變數時才能偵測到。 雖然你可以同時啟用這裡和特定區域 AbstractClientApplicationBase#azureRegion 的自動偵測,但如果不匹配,設定的 AbstractClientApplicationBase#azureRegion 區域會優先。 更多支援情境資訊請見此處: https://aka.ms/msal4j-azure-regions

參數:

val - 布林值(預設為假)

傳回:

該方法被呼叫的建構者實例

azureRegion

public T azureRegion(String val)

設定圖書館用來格式化權威的區域。 若獲得有效的Azure區域,函式庫會嘗試在區域 ESTS-R 端點提出令牌請求,而非全域 ESTS 端點。 區域必須是有效的 Azure 區域,且應使用簡稱,例如西美國 Azure 區域用 'westus',中部 US Azure 區域用 'centralus' 等。不過你可以在這裡設定特定區域並啟用自動偵測AbstractClientApplicationBase#autoDetectRegion,但如果有不匹配,這裡設定的區域會優先於自動偵測區域。 更多支援情境資訊請見此處: https://aka.ms/msal4j-azure-regions

參數:

val - 字串區域名稱

傳回:

該方法被呼叫的建構者實例

b2cAuthority

public T b2cAuthority(String val)

設定 MSAL 取得憑證的認證 B2C 權威機構的網址 有效的 B2C 權威機構應為:https://< something.b2clogin.com/< 租戶>/<政策> MSAL Java也支援舊有的 B2C 權威格式,看起來像是:https://< host>/tfp/<tenant>/<policy>。不過,MSAL Java 最終會停止支援舊有格式。 請點此了解如何遷移到新格式: https://aka.ms/msal4j-b2c

參數:

val - validateAuthority 的布林值

傳回:

該方法被呼叫的建構者實例

擲回:

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 - 以毫秒計的超時值

傳回:

該方法被呼叫的建構者實例

correlationId

public T correlationId(String val)

設定可選的關聯 ID,讓 API 使用。 若未提供,API 會產生隨機 UUID。

覆寫:

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

參數:

val - 一個關聯數為 id 的字串值

傳回:

該方法被呼叫的建構者實例

executorService

public T executorService(ExecutorService val)

設定 ExecutorService 以執行請求。 開發者負責維護執行者服務的生命週期。

覆寫:

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

參數:

val - 執行者服務的實例

傳回:

該方法被呼叫的建構者實例

httpClient

public T httpClient(IHttpClient val)

設定 HTTP 用戶端,讓用戶端應用程式能處理所有 HTTP 請求。 允許細緻的 HTTP 用戶端設定。

覆寫:

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

參數:

val - 實作 IHttpClient

傳回:

該方法被呼叫的建構者實例

instanceDiscovery

public T instanceDiscovery(boolean val)

歷史上,MSAL 會連接到位於 ''https://login.microsoftonline.com''' 的中央端點以取得部分元資料,尤其是在使用不熟悉的權威時。 這種行為稱為實例發現(Instance Discovery)。 此參數預設為 true,啟用實例發現。 如果你事先不了解某些權威,但仍希望 MSAL 接受你提供的任何權威,你可以使用「錯誤」無條件停用實例發現。

參數:

val

logPii

public T logPii(boolean val)

設定 logPii - 布林值,決定是否會登入 Pii(個人識別資訊)。 預設值為 false。

覆寫:

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

參數:

val - logPii 的布林值

傳回:

該方法被呼叫的建構者實例

oidcAuthority

public T oidcAuthority(String val)

設定一個已知權威,對應於通用的 OpenIdConnect 身份提供者。 MSAL 會為權威機構附加「.well-known/openid-configuration」以取得 OIDC 元資料並確定端點。

參數:

val - 權威的字串值

傳回:

該方法被呼叫的建構者實例

擲回:

java.net.MalformedURLException

proxy

public T proxy(Proxy val)

將代理設定為用戶端應用程式(MSAL4J 預設使用 javax.net.ssl.HttpsURLConnection)用於所有網路通訊。 若未傳遞代理值,則使用系統定義屬性。 如果 HTTP 用戶端是透過用戶端應用程式(透過 ClientApplication.builder().httpClient())設定的),代理設定應該是在傳遞的 HTTP 用戶端物件上進行,而不是透過這種方式。

覆寫:

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

參數:

val - 代理的實例

傳回:

該方法被呼叫的建構者實例

readTimeoutForDefaultHttpClient

public T readTimeoutForDefaultHttpClient(Integer val)

設定 HttpsURLConnection 連線 DefaultHttpClient中所使用的讀取逾時值,若使用自訂 HTTP 用戶端則不需要

覆寫:

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

參數:

val - 以毫秒計的超時值

傳回:

該方法被呼叫的建構者實例

setTokenCacheAccessAspect

public T setTokenCacheAccessAspect(ITokenCacheAccessAspect val)

設定 ITokenCacheAccessAspect 用於cache_data持久化。

參數:

val - ITokenCacheAccessAspect 的實例

傳回:

該方法被呼叫的建構者實例

sslSocketFactory

public T sslSocketFactory(SSLSocketFactory val)

設定 SSLSocketFactory 由用戶端應用程式用於所有網路通訊。 如果 HTTP 用戶端是透過 ClientApplication.builder().httpClient()) 在用戶端應用程式設定的,任何 SSL 設定都應該在 HTTP 用戶端完成,而不是透過這種方式。

覆寫:

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

參數:

val - SSLSocketFactory 的實例

傳回:

該方法被呼叫的建構者實例

validateAuthority

public T validateAuthority(boolean val)

設定一個布林值,告訴應用程式是否需要根據已知權威清單驗證該權威。 權限只有在以下情況下才會被驗證:1 - 它是 Azure Active Directory 權威(非 B2C 或 ADFS)2 - 實例發現元資料不是透過以下方式設定的AbstractClientApplicationBase#aadAadInstanceDiscoveryResponse

預設值為 True。

參數:

val - validateAuthority 的布林值

傳回:

該方法被呼叫的建構者實例

適用於