Этот вопрос очень широкий и не может вписаться в Stackoverflow, но, наконец, платформа Stackoverflow, чтобы помочь друг другу, поэтому вот одно из решений.
В вашем проекте api отдыха создайте функциональный класс Keycloak, который будет аутентифицировать все запрос на получение данных.
Давайте посмотрим на один случай. Предположим, я хочу создать роль в Keycloak и в моей БД, что мне нужно делать?
Предположим, запрос придет от клиента Rest или GUI - > Запрос должен содержать токен, чтобы каждый запрос имел действительный токен, поэтому ваш код для создания роли в БД Keycloak будет выглядеть примерно так
public void createRole(String createRoleAPIurl,String accessToken){
RoleRepresentation roleRepresentation = new RoleRepresentation();
roleRepresentation.setName(role.getRoleName());
roleRepresentation.setDescription(role.getDescription());
String convertValue = mapper.writeValueAsString(roleRepresentation);
StringEntity entity = new StringEntity(convertValue);
response = keycloakUtil.fetchURLResponse(createRoleAPIurl, accessToken, entity);
}
и
public CloseableHttpResponse fetchURLResponse(String createRoleAPIurl, String accessToken, StringEntity entity)
throws IOException, ClientProtocolException {
CloseableHttpResponse response = null;
try {
CloseableHttpClient httpclient = HttpClients.createDefault();
HttpPost postRequest = new HttpPost(url);
postRequest.addHeader("Authorization", "bearer " + accessToken);
postRequest.addHeader("content-type", "application/json");
postRequest.setEntity(entity);
response = httpclient.execute(postRequest);
} catch (Exception e) {
}
return response;
}
В этом примере запроса идет к Keycloak, поэтому URL будет похож на https://<PORT>:<IP>/auth/roles
этот URL, например, в вашем случае вам нужно написать другой метод, который будет проверять токен, если токен будет проверен, тогда только вы позволите запросу извлекать данные из вашей БД, в противном случае Вы можете выбросить какое-то исключение или передать сообщение. Поэтому каждый ваш запрос должен сопровождаться действительным токеном, и теперь он обязан проверять токен, а затем разрешать доступ только к вашим ресурсам.
Надеюсь, он вам поможет.