У меня есть приложение, которое извлекает токен доступа из Microsoft Graph, а затем использует токен доступа для вызовов Microsoft Graph Apis.
Я использую проверку подлинности сертификата клиента с использованием MSAL jar. Теперь я не уверен, использует ли метод SSL для получения токена доступа (поскольку я напрямую читаю сертификат .pfx как поток ввода файла).
Ниже мой код:
public String getTokenUsingGraphCertificate(String clientId, String tenantId, String certificatePath, String certificatePassword) throws Exception {
String authority = MessageFormat.format(AUTHORITY_URL, tenantId);
IClientCredential credential = ClientCredentialFactory.createFromCertificate(
new FileInputStream(new File(certificatePath)), certificatePassword);
ConfidentialClientApplication cca = ConfidentialClientApplication.builder(clientId, credential)
.authority(authority)
// .setTokenCacheAccessAspect(tokenCacheAspect)
.build();
IAuthenticationResult result;
try {
SilentParameters silentParameters = SilentParameters.builder(SCOPE).build();
result = cca.acquireTokenSilently(silentParameters).join();
} catch (Exception ex) {
if (ex.getCause() instanceof MsalException) {
ClientCredentialParameters parameters = ClientCredentialParameters.builder(SCOPE).build();
result = cca.acquireToken(parameters).join();
} else {
log.error("Exception occurred while fetching access token using getTokenUsingGraphCertificate. ERROR is : {}",ex);
throw ex;
}
}
return result.accessToken();
}
Теперь, как я могу использовать SSL для получения токена доступа из Microsoft Graph с помощью сертификата клиента? Пожалуйста помоги. Заранее спасибо