Connaissez-vous une implémentation de Java Cookie permettant de définir un indicateur personnalisé pour le cookie (comme SameSite = strict )? il semble que javax.servlet.http.Cookie
ait des drapeaux strictement limités qui peuvent être ajoutés.
Je ne suis pas un expert JEE, mais je pense que cette propriété de cookie étant une invention relativement nouvelle, vous ne pouvez pas vous attendre à ce qu'elle soit présente dans les interfaces ou les implémentations Java EE 7. La classe Cookie
manque d'un setter pour les propriétés génériques, comme il semble. Mais au lieu d’ajouter le cookie à votre HttpServletResponse
via
response.addCookie(myCookie)
vous pouvez simplement définir le champ d'en-tête HTTP correspondant via
response.setHeader("Set-Cookie", "key=value; HttpOnly; SameSite=strict")
J'espère que c'est assez bon pour vous.
P.S .: J'ai enlevé mes derniers commentaires sous votre question, peut-être que vous souhaitez également supprimer vos 3 réponses qui ne sont plus nécessaires. Par la suite, je peux aussi supprimer ce paragraphe ici. Merci.
Si vous ne voulez pas mettre à jour tout votre code, vous pouvez également réaliser la même configuration sur une seule ligne en utilisant la configuration Apache ou Nginx (ou tout autre serveur/proxy HTTP que vous utilisez).
Vous pouvez ajouter la ligne suivante à votre configuration Apache
Header always edit Set-Cookie (.*) "$1; SameSite=Lax"
et cela mettra à jour tous vos cookies avec SameSite=Lax
flag
Voir plus ici: https://blog.giantgeek.com/?p=1872
location / {
# your usual config ...
# hack, set all cookies to secure, httponly and samesite (strict or lax)
proxy_cookie_path / "/; secure; HttpOnly; SameSite=strict";
}
Idem ici, cela mettra également à jour tous vos cookies avec SameSite=Lax
flag
Voir plus ici: https://serverfault.com/questions/849888/add-samesite-to-cookies-using-nginx-as-reverse-proxy