ConfidentialClientApplication 클래스

구현

public class ConfidentialClientApplication
extends AbstractClientApplicationBase
implements IConfidentialClientApplication

기밀 클라이언트 애플리케이션(Web Apps, Web API 및 디먼 애플리케이션)에 대한 토큰을 획득하는 데 사용할 클래스입니다. 자세한 내용은 를 참조 IConfidentialClientApplication

조건부 스레드로부터 안전

필드 요약

한정자 및 형식 필드 및 설명
java.util.function.Function<AppTokenProviderParameters,java.util.concurrent.CompletableFuture<TokenProviderResult>> appTokenProvider

토큰 공급자는 액세스 토큰을 제공하는 함수에서 자격 증명을 만듭니다.

메서드 요약

한정자 및 형식 메서드 및 설명
java.util.concurrent.CompletableFuture<IAuthenticationResult> acquireToken(ClientCredentialParameters parameters)

기밀 클라이언트 자체에 대해 애플리케이션에 구성된 기관에서 토큰을 획득합니다.

java.util.concurrent.CompletableFuture<IAuthenticationResult> acquireToken(OnBehalfOfParameters parameters)

온-Behalf-Of 흐름을 사용하는 사용자를 대신하여 다른 다운스트림으로 보호되는 Web API에 액세스하기 위해 애플리케이션에 구성된 기관에서 이 애플리케이션(일반적으로 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)

온-Behalf-Of 흐름을 사용하는 사용자를 대신하여 다른 다운스트림으로 보호되는 Web API에 액세스하기 위해 애플리케이션에 구성된 기관에서 이 애플리케이션(일반적으로 Web API)에 대한 액세스 토큰을 획득합니다. 기본적으로 토큰 캐시에서 토큰을 가져오려고 시도합니다. 이 기밀 클라이언트 애플리케이션 자체는 해당 필드에 OnBehalfOfParameters제공되는 acces 토큰으로 호출되었습니다UserAssertion.

메모리 내 토큰 캐시를 영구 스토리지로 직렬화/역직렬화할 때 들어오는 액세스 토큰당 토큰 캐시가 있어야 합니다. 여기서 들어오는 액세스 토큰의 해시를 토큰 캐시 키로 사용할 수 있습니다. 액세스 토큰은 일반적으로 1시간 동안만 유효하며, 새 액세스 토큰 UserAssertion 은 새 토큰 캐시와 새 토큰 캐시 키가 있음을 의미합니다. 영구 스토리지가 만료된 토큰 캐시로 채워지는 것을 방지하려면 제거 정책을 설정해야 합니다. 예를 들어 2시간 이상 지난 토큰 캐시는 만료된 것으로 간주되어 직렬화된 토큰 캐시에서 제거될 수 있습니다.

매개 변수:

parameters

builder

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

ConfidentialClientApplication의 Builder 인스턴스를 만듭니다.

매개 변수:

clientId - 애플리케이션 등록 포털에 등록된 애플리케이션의 클라이언트 ID(애플리케이션 ID)(portal.azure.com)
clientCredential - 토큰 획득에 사용할 클라이언트 자격 증명입니다.

반품:

ConfidentialClientApplication 작성기의 인스턴스

clientAuthentication

protected ClientAuthentication clientAuthentication()

재정의:

ConfidentialClientApplication.clientAuthentication()

createClientAuthFromClientAssertion

protected ClientAuthentication createClientAuthFromClientAssertion(ClientAssertion clientAssertion)

매개 변수:

clientAssertion

sendX5c

public boolean sendX5c()

적용 대상