ConfidentialClientApplication 類別

實作

public class ConfidentialClientApplication
extends AbstractClientApplicationBase
implements IConfidentialClientApplication

類別用於取得機密客戶端應用程式(Web Apps、Web API 及守護程序應用程式)的令牌。 如需詳細資訊,請參閱 IConfidentialClientApplication

條件執行緒安全

欄位摘要

修飾詞與類型 欄位與描述
java.util.function.Function<AppTokenProviderParameters,java.util.concurrent.CompletableFuture<TokenProviderResult>> appTokenProvider

AppTokenProvider 會從提供存取權杖的函式中建立憑證。

方法摘要

修飾詞與類型 方法與描述
java.util.concurrent.CompletableFuture<IAuthenticationResult> acquireToken(ClientCredentialParameters parameters)

從應用程式中設定的權威機構取得權杖,供機密用戶端使用。

java.util.concurrent.CompletableFuture<IAuthenticationResult> 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

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

欄位詳細資料

appTokenProvider

public Function<AppTokenProviderParameters,CompletableFuture<TokenProviderResult>> appTokenProvider

AppTokenProvider 會從提供存取權杖的函式中建立憑證。 函式必須是並發安全的。 這只是為了讓 Azure SDK 能快取 MSI 代幣。 它對一般應用程式沒什麼用,因為憑證提供者必須實作所有認證邏輯。

方法詳細資料

acquireToken

public CompletableFuture<IAuthenticationResult> acquireToken(ClientCredentialParameters parameters)

從應用程式中設定的權威機構取得權杖,供機密用戶端使用。 預設情況下,它會嘗試從令牌快取中取得標記。 如果找不到任何令牌,系統就會退回透過 STS 的客戶端憑證取得

參數:

parameters

acquireToken

public CompletableFuture<IAuthenticationResult> acquireToken(OnBehalfOfParameters parameters)

從應用程式中設定的權威機構取得該應用程式的存取權杖(通常是 Web API),以便代表使用 On-Behalf-Of 流程的使用者存取另一個下游受保護的 Web API。 預設情況下,它會嘗試從令牌快取中取得標記。 這個機密客戶端應用程式本身是以 的 accesses 令牌命名,該令牌在 UserAssertion 欄位 OnBehalfOfParameters中提供。

當將記憶體中的令牌快取序列化或反序列化到永久儲存時,應為每個進入的存取令牌設置一個令牌快取,且可利用該存取令牌的雜湊值作為令牌快取金鑰。 存取權杖通常只有效 1 小時,而新的存取權杖 UserAssertion 意味著會有新的權杖快取和新的權杖快取金鑰。 為避免永久儲存空間被過期的代幣快取填滿,應設定驅逐政策。 例如,超過數小時的令牌快取可能會被視為過期,因此從序列化的令牌快取中被驅逐。

參數:

parameters

builder

public static ConfidentialClientApplication.Builder builder(String clientId, IClientCredential clientCredential)

建立 ConfidentialClientApplication 建置者實例

參數:

clientId - 應用程式註冊入口網站(portal.azure.com)中註冊的客戶ID(Application ID)
clientCredential - 用來取得代幣的客戶憑證。

傳回:

ConfidentialClientApplication 建置者實例

clientAuthentication

protected ClientAuthentication clientAuthentication()

覆寫:

ConfidentialClientApplication.clientAuthentication()

createClientAuthFromClientAssertion

protected ClientAuthentication createClientAuthFromClientAssertion(ClientAssertion clientAssertion)

參數:

clientAssertion

sendX5c

public boolean sendX5c()

適用於