2020-01-21 SameSite none Cookie
SameSite cookies - HTTP | MDN
[追記]上リンクはリンク切れになっております。最新ドキュメントは下記よりどうぞ。
Set-Cookie HTTP レスポンスヘッダーの SameSite 属性を使用すると、Cookie をファーストパーティまたは同じサイトのコンテキストに制限するかどうかを宣言できます。
Lax
Cookie はトップレベルナビゲーションで送信することが許可されており、サードパーティの Web サイトによって開始された GET リクエストとともに送信されます。これは、モダンブラウザのデフォルト値です。
Strict
Cookie はファーストパーティのコンテキストでのみ送信され、サードパーティの Web サイトによって開始されたリクエストと一緒に送信されることはありません。
None
Cookie はすべてのコンテキストで送信されます。つまり、クロスオリジンの送信が許可されます。
None はデフォルト値でしたが、最近のブラウザバージョンでは、Lax をデフォルト値にして、クロスサイトリクエストフォージェリ (CSRF) 攻撃のクラスに対して適度に堅牢な防御を提供しました。
ざっくりかいつまんでいうと、今まではAサイトにおいてBサイトのCookieがセットすることが可能で、AサイトからBサイトへアクセス時にCookieが送信されていたが、それがSameSite属性の対応によってデフォルトでは無理になる(要調査)。
Bサイトでとれる対応は、CookieをSameSite=None
で設定する(もちろんSecure属性はつけた上で)。