in src/main/java/com/epam/aidial/auth/helper/services/keycloak/MicrosoftIdentityProvider.java [44:60]
private String getUserPhoto(String accessToken) {
HttpHeaders headers = new HttpHeaders();
headers.setBearerAuth(accessToken);
HttpEntity<Void> requestEntity = new HttpEntity<>(headers);
try {
ResponseEntity<byte[]> response = restTemplate.exchange("https://graph.microsoft.com/v1.0/me/photos/48x48/$value", HttpMethod.GET, requestEntity, byte[].class);
byte[] content = response.getBody();
String encodedString = Base64.getEncoder().encodeToString(content);
return "data:image/jpeg;base64, " + encodedString;
} catch (HttpClientErrorException.NotFound e) {
String errorMsg = e.getMessage();
if (errorMsg != null && errorMsg.contains("ImageNotFound")) {
return null;
}
throw e;
}
}