클라이언트 애플리케이션

애플리케이션 인스턴스화

Pre-requisites

MSAL4J를 사용하여 앱을 인스턴스화하기 전에:

  1. 사용 가능한 클라이언트 애플리케이션 유형( 공용 클라이언트 및 기밀 클라이언트 애플리케이션)을 이해합니다.
  2. 애플리케이션을 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();