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 Apps、Web API 及守護程序應用程式)的令牌。 如需詳細資訊,請參閱 IConfidentialClientApplication
條件執行緒安全
欄位摘要
| 修飾詞與類型 | 欄位與描述 |
|---|---|
|
java.util.function.Function<App |
appTokenProvider
App |
方法摘要
| 修飾詞與類型 | 方法與描述 |
|---|---|
|
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。 預設情況下,它會嘗試從令牌快取中取得標記。 這個機密客戶端應用程式本身是以 的 accesses 令牌命名,該令牌在 UserAssertion 欄位 OnBehalfOfParameters中提供。
當將記憶體中的令牌快取序列化或反序列化到永久儲存時,應為每個進入的存取令牌設置一個令牌快取,且可利用該存取令牌的雜湊值作為令牌快取金鑰。 存取權杖通常只有效 1 小時,而新的存取權杖 UserAssertion 意味著會有新的權杖快取和新的權杖快取金鑰。 為避免永久儲存空間被過期的代幣快取填滿,應設定驅逐政策。 例如,超過數小時的令牌快取可能會被視為過期,因此從序列化的令牌快取中被驅逐。
參數:
builder
public static ConfidentialClientApplication.Builder builder(String clientId, IClientCredential clientCredential)
建立 ConfidentialClientApplication 建置者實例
參數:
傳回:
clientAuthentication
protected ClientAuthentication clientAuthentication()
覆寫:
ConfidentialClientApplication.clientAuthentication()createClientAuthFromClientAssertion
protected ClientAuthentication createClientAuthFromClientAssertion(ClientAssertion clientAssertion)
參數:
sendX5c
public boolean sendX5c()