セットされているCookieを無効する方法

実現したいこと

ブラウザを更新(F5)する際にセットしていたCookie情報を無効にしたい。

更新前Cookie情報
hoge="1234567890"

画面更新後Cookie情報
hoge="" もしくは keyのhogeごと削除されている

前提

セットされているCookieを取得し、指定したkey名のCookieを無効にする。

ソースコード

key名を指定し有効期限を0に設定し無効を試みているのですが、画面再表示後のCookieに残ってしまっている。
ここでは、Cookie名「hoge」がセットされているので、maxAgeのオプションを0に指定しています。

Java

1Cookie cookies[] = request.getCookies();2NewCookie deleteCookie = null;3 4if(cookies != null){5 for(int i = 0; i < cookies.length; i++){6 if(cookies[i].getName().equals("hoge")) {7 deleteCookie = new NewCookie(cookies[i].getName(), cookies[i].getValue(), cookies[i].getPath(), cookies[i].getComain(), cookies[i].getComment(), 0, cookies[i].getSecure());8 }9 }10}11 12 13return Response.ok(Res).header("Set-Cookie", deleteCookie.toString()).build();14

実行結果

更新前Cookie情報
hoge="1234567890"

上記ソースコード処理後、Chromeのデベロッパーツールで画面表示のリクエストヘッダーを確認すると、
Cookieの中にhoge="1234567890"が残ってしまっている。

試したこと

サイトを色々見ていたところ、オプションを省略せず指定する必要があるとの情報をみたので、7行目の部分は一通り設定しています。

環境情報

言語 : java8
OS : Windows

最後に

知識不足でもうしわけありませんが、ご教授よろしくお願いいたします。
また、情報の追加等ありましたら更新致します。

コメントを投稿

0 コメント