mixi Developer Center (ミクシィ デベロッパーセンター)

ニュース » mixiアプリ » Chrome サードパーティ Cookie の段階的廃止への対応のお願い

Chrome サードパーティ Cookie の段階的廃止への対応のお願い

2023.12.11 mixiアプリ

平素よりmixi Platformをご利用いただき、誠にありがとうございます。

2024年からChrome ブラウザにてサードパーティCookieが段階的に廃止されます。
2024年1月以降に、ユーザの1%に対してサードパーティCookieが無効になる予定です。
mixiアプリでCookieを使用している場合は、1%のユーザに対してアプリが動作しないことが考えられます。
さらに2024年の第3四半期中(7月~9月末)にはChromeのサードパーティCookieを完全に廃止する予定となっています。

GoogleではサードパーティCookieの代わりとなる仕様(CHIPS)が提案されています。
mixiアプリでは上記のCHIPSの仕様のとおり、CookieにPartitioned属性をつけることで引き続きCookieを使用できる見込みです。
mixiアプリでCookieを使用している場合は、2024年6月末までに下記のご対応をお願いいたします。

Cookieの属性にPartitionedを追加する

下記の例のようにSet-Cookie ヘッダーにPartitioned 属性を追加してください。

Set-Cookie: key=value; expires=Thu, 31-Dec-2024 00:00:00 GMT; Path=/; Secure; SameSite=None; Partitioned;

下記に、php のsessionを使用している場合の対応例を示します。

session_set_cookie_params(
    60*60*24*30,                     // 例:30日
    '/; SameSite=None; Partitioned', // pathの後に追加仕様のPartitoinedを列挙する
    "",                              // domain
    true,                            // secure
    false                            // httponly
);

制約について

  • Secure属性をつける必要があります。

  • 引き続き SameSite の属性は Noneとしてください。

  • Partitioned属性のついたSet-Cookieヘッダーは、トップレベルのURLが https://mixi.jp/run_appli.pl の状態(iframeを介してアプリURLが埋め込まれた状態)でレスポンスする必要があります。
    この状態だとPartitoin Keyが、https://mixi.jp となり、アクセスしているURLが https://mixi.jp の場合にCookie送信が可能となります。
    Partitoin KeyはChromeのDeveloperToolのNetworkのCookieタブで確認できます。

mixi.cookie.enable()におけるSet-Cookieについて

Partitioned属性をつけたCookieは、Partitoin Keyという概念があり、アクセスしているドメインがPartitoin Keyと一致すると送信されます。
Partitoin Key はSet-Cookieしたページの <トップレベルURLのスキーマ>://<eTLD+1> となります。
https://mixi.jp/run_appli.pl でCookieを取得したい場合、Partitoin Key は https://mixi.jp にする必要があります。

SafariにおいてサードパーティCookieの有効化として、mixi.cookie.enable()関数があります。
mixi.cookie.enable()の仕様は、リダイレクトでトップレベルURLを https://example.com (mixiアプリのドメインの例)へ移動してSet-Cookieする仕組みです。
この場合のPartitoin Keyは https://example.com となります。
ここでのSet-CookieにPartitioned属性を使用しても、Partitoin Key が https://mixi.jp とならないことに注意してください。

mixi.cookie.enable()については下記を参照してください。Safariについて引き続き有効な手段となります。
https://developer.mixi.co.jp/appli/ns/touch/cookie_enable_api/

各ブラウザの対応状況

下記を確認してください。
https://developer.mozilla.org/en-US/docs/Web/Privacy/Partitioned_cookies#browser_compatibility

サードパーティCookieがブロックされる状態をテストする方法

Chromeの「設定」を選択
「プライバシーとセキュリティ」を選択
「サードパーティCookie」を選択
デフォルトの動作を「サードパーティのCookieをブロックする」を選択する

Partitioned属性追加の後に、上記の設定でmixiアプリが正常に稼働することを確認してください。

参考資料

このページの上部へ