public ResponseEntity getOpenIdConfiguration()

in src/main/java/com/epam/aidial/auth/helper/controllers/WellKnownController.java [50:71]


    public ResponseEntity<Object> getOpenIdConfiguration() {
        try {
            final ResponseEntity<String> openIdConfiguration = authProvider.getOpenidConfiguration();
            if (openIdConfiguration.getStatusCode() != HttpStatus.OK) {
                return new ResponseEntity<>(openIdConfiguration.getBody(), openIdConfiguration.getStatusCode());
            }

            JsonNode root = mapper.readTree(openIdConfiguration.getBody());
            String ret = mapper.writeValueAsString(((ObjectNode) root).put("userinfo_endpoint", serverConfig.getHostUrl() + "/api/v1/user/user-info"));

            return new ResponseEntity<>(ret, HttpStatus.OK);
        } catch (RestClientResponseException e) {
            return new ResponseEntity<>(e.getResponseBodyAsString(), HttpStatus.valueOf(e.getRawStatusCode()));
        } catch (Throwable e) {
            LOG.warn("error occured at getting OpenId configuration: %s").with(e);

            final HttpStatus status = ExceptionToHttpStatusConverter.getStatus(e);
            final ErrorDto errorDto = ExceptionToErrorDtoConverter.getErrorDto(e);

            return ResponseEntity.status(status).body(errorDto);
        }
    }