Знаете ли вы какую-либо реализацию Java- SameSite=strict
cookie, которая позволяет устанавливать пользовательский флаг для SameSite=strict
cookie, например SameSite=strict
? Похоже, что javax.servlet.http.Cookie
имеет строго ограниченный набор флагов, которые можно добавлять.
SameSite cookie в приложении Java
Ответ 1
Я не эксперт по JEE, но я думаю, что, поскольку это свойство cookie является несколько новым изобретением, нельзя ожидать, что оно будет присутствовать в интерфейсах или реализациях Java EE 7. В классе Cookie
отсутствует установщик общих свойств, как кажется. Но вместо добавления файла cookie в ваш HttpServletResponse
через
response.addCookie(myCookie)
Вы можете просто установить соответствующее поле заголовка HTTP через
response.setHeader("Set-Cookie", "key=value; HttpOnly; SameSite=strict")
Ответ 2
Если вы не хотите обновлять весь свой код, вы также можете добиться такой же конфигурации в одну строку, используя конфигурацию Apache или Nginx (или любой другой HTTP-сервер/прокси, который вы используете)
1 Настройка файлов cookie SameSite с использованием конфигурации Apache
Вы можете добавить следующую строку в вашу конфигурацию Apache
Header always edit Set-Cookie (.*) "$1; SameSite=Lax"
и это обновит все ваши куки с SameSite=Lax
Подробнее здесь: https://blog.giantgeek.com/?p=1872
2 Настройка файлов cookie SameSite с использованием конфигурации Nginx
location / {
# your usual config ...
# hack, set all cookies to secure, httponly and samesite (strict or lax)
proxy_cookie_path / "/; secure; HttpOnly; SameSite=strict";
}
То же самое здесь, это также обновит все ваши куки с SameSite=Lax
Смотрите больше здесь: https://serverfault.com/info/849888/add-samesite-to-cookies-using-nginx-as-reverse-proxy