У меня есть бэкэнд-приложение springboot, которое предоставляет определенные конечные точки REST. Они защищены Keycloak. У меня есть необходимые настройки безопасности.
Я хотел проверить настройку Итак, я написал простую страницу html со ссылкой.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>This is Products page</title>
</head>
<body>
<a href="/product">Products</a>
</body>
</html>
У меня есть конечная точка "/ product" в бэкэнде. Когда я нажимаю эту ссылку «Продукты», Springboot (начальная библиотека Keycloak) автоматически перенаправляет меня на страницу входа в систему keycloak. Когда я захожу туда, он перенаправляет меня на конечную точку / product. Все это хорошо.
Проблема в том, что когда у меня есть кнопка и я делаю запрос jquery, как этот, я получаю 401 несанкционированный. Перенаправление на страницу входа в Keycloak не происходит.
<!DOCTYPE html>
<head>
<title>This is Products page</title>
<script
src="https://code.jquery.com/jquery-3.4.1.js"
integrity="sha256-WpOohJOqMqqyKL9FccASB9O0KwACQJpFTUBLTYOVvVU="
crossorigin="anonymous"></script>
<script>
$(document).ready(function(){
$("button").click(function(){
$.ajax({
url: '/product',
type: 'GET',
success: function (data) {
console.info(data);
},
error :function (error) {
console.info(error)
}
});
});
});
</script>
</head>
<body>
<button>Products</button>
</body>
</html>
Любая подсказка приветствуется.