2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

ChromeでCookieの保存をブロックされたのでメモ

Posted at

起こったこと

Chromeから以下の警告が出て、クロスサイトのレスポンスに含まれるCookieを保存できなかった

Set-Cookieヘッダーを介してCookieの設定を試みましたが、「SameSite=Lax」属性は指定されていたものの、トップレベルナビゲーションへのレスポンスではないクロスサイトレスポンスが送信元だったため、ブロックされました。

やっていたこと

  1. ローカルでhttps://localhost:8080/{何かしらのpath}にアクセスするとHTML・JSを返すサーバーを起動した
  2. ローカルサーバーから返されるJSはトップレベルナビゲーションの変化が起きないクロスサイトリクエストを行った
  • 宛先は仮にsubdomain.site.comとする
  1. クロスサイトはSet-Cookieヘッダーを含むレスポンスを返却した
  2. HTMLは再度同様のクロスサイトにクッキーを含むリクエストを送る想定だった

しかし、クロスサイトにクッキーを送れておらず、原因を探ったところChromeからクッキー保存をブロックした旨の警告が出ていた

対応

以下の2点を実施したところ、クッキーを保存してくれるようになった

  • ローカルサーバーのURLをhttps://localhost.site.com:8080/{何かしらのpath}に変更し、クロスサイトのドメインと合わせた
  • hostsファイルを編集し、127.0.0.1localhost.site.comを関連づけた

原因について

対応結果からの推測になるが、おそらくChromeはURLバーに表示されているドメインとクロスリクエスト先のドメインが一致していないと、クロスリクエスト先からのCookieを保存してくれない模様

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?