Я использую Spring 4 и создаю сеанс, используя request.getSession()
Я заметил, что создается файл cookie SESSION. Заголовок ответа содержит следующее:
Set-Cookie: SESSION=ZTgwZWMxMDItOTA1MC00ZTZjLWIxMmUtZmM3NmQxNzJmNDBm; Path=/myApp/; Secure; HttpOnly
В созданном файле cookie мне нужно SameSite=Lax. В настоящее время значение SameSite отсутствует.
Итак, в моем коде я сделал следующую попытку перезаписать файл cookie SESSION.
// request is of type HttpServletRequest
// response is of type HttpServletResponse
HttpSession session = request.getSession();
String base64value = Base64.getEncoder().encodeToString(session.getId().getBytes());
response.setHeader("Set-Cookie","SESSION=" + base64value + ";path=/myApp/ ;HttpOnly ;Secure;SameSite=lax");
Но теперь создаются 2 файла cookie SESSION, и их можно увидеть в заголовках ответов:
Set-Cookie: SESSION=ZTgwZWMxMDItOTA1MC00ZTZjLWIxMmUtZmM3NmQxNzJmNDBm;path=/myApp/ ;HttpOnly ;Secure;SameSite=lax
Set-Cookie: SESSION=ZTgwZWMxMDItOTA1MC00ZTZjLWIxMmUtZmM3NmQxNzJmNDBm; Path=/myApp/; Secure; HttpOnly
Как я могу иметь только 1 файл cookie SESSION с SameSite = Lax с Spring 4?