web-dev-qa-db-ja.com

SameSite cookie Java application

Java Cookieの実装により、SameSite=strict?のようだ javax.servlet.http.Cookieには、追加できるフラグのセットが厳密に制限されています。

21
Michal_Szulc

私はJEEの専門家ではありませんが、そのCookieプロパティはやや新しい発明であるため、Java EE 7インターフェースまたは実装に存在することは期待できません。Cookieクラスが欠落しています汎用プロパティのセッターですが、CookieをHttpServletResponseに追加する代わりに

response.addCookie(myCookie)

単純に対応するHTTPヘッダーフィールドを設定できます

response.setHeader("Set-Cookie", "key=value; HttpOnly; SameSite=strict")
33
kriegaex

すべてのコードを更新したくない場合は、ApacheまたはNginxの構成(または使用している他のHTTPサーバー/プロキシ)を使用して1行の構成で同じことを実現することもできます。

1 Apache構成を使用してSameSite Cookieを設定する

Apache設定に次の行を追加できます。

Header always edit Set-Cookie (.*) "$1; SameSite=Lax"

これにより、すべてのCookieがSameSite=Lax 国旗

詳細はこちら: https://blog.giantgeek.com/?p=1872

2 Nginx構成を使用してSameSite Cookieを設定する

location / {
    # your usual config ...
    # hack, set all cookies to secure, httponly and samesite (strict or lax)
    proxy_cookie_path / "/; secure; HttpOnly; SameSite=strict";
}

ここでも同じです。これにより、すべてのCookieがSameSite=Lax 国旗

詳細はこちら: https://serverfault.com/questions/849888/add-samesite-to-cookies-using-nginx-as-reverse-proxy

2