MSAL4J에는 세 가지 유형의 클라이언트 비밀이 있습니다.
- 애플리케이션 비밀
- 인증서
- 클라이언트 어설션
MSAL4J에서 애플리케이션 암호를 사용하는 클라이언트 자격 증명
Microsoft Entra ID 사용하여 기밀 클라이언트 애플리케이션을 등록하는 동안 클라이언트 암호가 생성됩니다(일종의 애플리케이션 암호). 클라이언트가 자체 이름으로 토큰을 획득하려는 경우 다음을 수행합니다.
- 문자열이어야 하는 클라이언트 시크릿을 전달하여
ClientCredentialFactory를 사용해IClientCredential를 만듭니다.
String CLIENT_SECRET;
IClientCredential credential = ClientCredentialFactory.createFromSecret(CLIENT_SECRET)
인증서가 있는 클라이언트 자격 증명
이 경우 애플리케이션이 Microsoft Entra ID 등록되면 인증서의 공개 키를 업로드합니다. 토큰을 획득하려는 경우 클라이언트 애플리케이션은
-
ClientCredentialFactory를 사용하여IClientCredential를 생성합니다. 이때 공개 키와 개인 키를 모두 전달하거나 pkcs12의 InputStream을 전달합니다.
PrivateKey privateKey;
X509Certificate publicKey;
IClientCredential credential = ClientCredentialFactory.createFromCertificate(privateKey, publicKey)
또는
InputStream inputStream;
String password;
IClientCredential credential = ClientCredentialFactory.create(inputStream, password)
- 그런 다음 기밀 클라이언트 애플리케이션을 만들고 클라이언트 자격 증명을 전달합니다.
ConfidentialClientApplication app =
ConfidentialClientApplication.builder(
CLIENT_ID,
credential)
.build();