private String getUserPhoto()

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;
        }
    }