애플리케이션 인스턴스화
Pre-requisites
MSAL4J를 사용하여 앱을 인스턴스화하기 전에:
- 사용 가능한 클라이언트 애플리케이션 유형( 공용 클라이언트 및 기밀 클라이언트 애플리케이션)을 이해합니다.
- 애플리케이션을 Microsoft Entra ID에 등록해야 합니다. 따라서 다음을 알 수 있습니다.
- 그것의
clientID(GUID를 나타내는 문자열) - ID 공급자 URL(인스턴스 이름 지정) 및 애플리케이션에 대한 로그인 대상 그룹입니다. 이러한 두 매개 변수를 통칭하여 권한이라고 합니다.
- 아마도
TenantID기간 업무 애플리케이션(사용자 조직만을 위한 애플리케이션으로, 단일 테넌트 애플리케이션이라고도 함)을 작성하는 경우일 것입니다. - 기밀 클라이언트 앱, 해당 애플리케이션 비밀(
clientSecret문자열) 또는 인증서인 경우 - 웹앱의 경우 ID 공급자가 보안 토큰을 사용하여 애플리케이션에 다시 연결할 위치도 설정
redirectUri해야 합니다.
- 그것의
공용 클라이언트 애플리케이션 인스턴스화
String PUBLIC_CLIENT_ID;
String AUTHORITY;
PublicClientApplication app =
PublicClientApplication
.builder(PUBLIC_CLIENT_ID)
.authority(AUTHORITY)
.build();
기밀 클라이언트 애플리케이션 인스턴스화
클라이언트 자격 증명에 설명된 대로 비밀 또는 인증서가 필요합니다.
비밀이 있는 경우:
String PUBLIC_CLIENT_ID;
String AUTHORITY;
String CLIENT_SECRET;
IClientCredential credential = ClientCredentialFactory.createFromSecret(CLIENT_SECRET);
ConfidentialClientApplication app =
ConfidentialClientApplication
.builder(PUBLIC_CLIENT_ID, credential)
.authority(AUTHORITY)
.build();
인증서가 있는 경우:
String PUBLIC_CLIENT_ID;
String AUTHORITY;
PrivateKey PRIVATE_KEY;
X509Certificate PUBLIC_KEY;
IClientCredential credential = ClientCredentialFactory.createFromCertificate(PRIVATE_KEY, PUBLIC_KEY);
ConfidentialClientApplication app =
ConfidentialClientApplication
.builder(PUBLIC_CLIENT_ID, credential)
.authority(AUTHORITY)
.build();