Я не могу найти свой Spring boot httpOnly Cook ie на моем клиентском сайте - PullRequest
0 голосов
/ 03 августа 2020

Я использую Spring boot 2.3.1.RELEASE и пытаюсь отправить клиенту httpOnly Cook ie. Проблема в том, что Chrome не показывает файлы cookie. enter image description here Same situation with Postman. enter image description here One thing is that in the Postman response log, I can see the header Set-Cookie with its value, while on Chrome, console.log(res.headers); gives undefined введите описание изображения здесь Вот мой код сервера

public @ResponseBody ResponseEntity<?> sendCookie(HttpServletRequest request,
    HttpServletResponse response) {

    Cookie cookie = new Cookie("cookie", "one_cookie_for_you");

    cookie.setMaxAge(7 * 24 * 60 * 60); // expires in 7 days
    cookie.setSecure(true);
    cookie.setHttpOnly(true);

    response.addCookie(cookie);

    return ResponseEntity.ok("OK");
}

Я что-то делаю не так? Спасибо за любую помощь.

1 Ответ

0 голосов
/ 03 августа 2020

Спасибо @ M. Deinum Я смог решить проблему, оказалось, что это было моим незнанием. Еще раз спасибо, вот решение.

Поскольку мой клиент находится на localhost , который не https , повар ie s защищен * Флаг 1010 * должен быть установлен на false как cookie.setSecure(false);, чтобы браузер сохранял повар ie, даже если протокол не защищен.

Во-вторых, мой код отсутствовал cookie.setPath(""); и cookie.setDomain(""), что заставляет Spring автоматически устанавливать путь cook ie к сопоставлению api. Установка доменного имени и пути к "/" заставляет повар ie отправлять любые запросы.

...