サードパーティ Cookie のサポート終了に備える

このガイドでは、Chrome のサードパーティ Cookie のサポート終了に伴うアドオンに対する影響と必要な変更について説明します。

概要

2024 年 1 月 4 日、Chrome にトラッキング防止機能が導入され、ウェブサイトによるサードパーティ(3P)Cookie へのアクセスをデフォルトで 1% に制限しました。Chrome では、2025 年初頭サードパーティ Cookie を完全に廃止する予定です。

Classroom アドオンでは、少なくとも 2 つのユーザー ジャーニーが影響を受けます。

  1. Google のシングル サインオン(SSO)フロー
  2. ユーザーを新しいタブで開く

Google SSO

Google SSO のフロー中に、ユーザーはダイアログに移動し、Google アカウントにログインし、データ共有に同意します。

iframe 内からの SSO 時の 3 つの異なる Cookie コンテキストの可視化

図 1. iframe 内からの SSO 時の 3 種類の Cookie コンテキストの可視化: (1)トップレベルの Classroom アプリ、(2)サードパーティの埋め込み iframe(この場合はローカルホスト上の DavidPuzzle)、(3)トップレベルの OAuth ダイアログ。

一般的なアドオンの実装では、このログイン プロセスの完了時にセッション Cookie が設定されます。埋め込みコンテキストのアドオン iframe がセッション Cookie とともに再読み込みされ、ユーザーは認証済みセッションにアクセスできるようになります。ただし、サードパーティ Cookie が無効になっている場合、アドオン iframe などの埋め込みコンテキストのサイトは、それぞれのトップレベル コンテキストから Cookie にアクセスできません。Classroom アドオンの場合、ユーザーが認証済みセッションにアクセスできず、ログインのループから先に進まない。

実装で埋め込み iframe コンテキストにセッション Cookie を設定する場合は、CHIPS API を使用してこの問題を軽減できます。CHIPS API を使用すると、パーティション化された Cookie(埋め込みドメインと埋め込みドメインの両方にキーが付加された Cookie)を埋め込みサイトで設定してアクセスできます。ただし、ログイン ダイアログのトップレベル コンテキストにセッション Cookie を設定する実装では、iframe のパーティション分割されていない Cookie にアクセスできないため、ログインできません。

新しいタブ

同様の理由で、ユーザーがアドオン iframe で Cookie ベースの認証セッションを使用している場合、iframe によってアクティビティの新しい最上位のタブが開かれると、最上位のタブでは iframe からパーティション化されたセッション Cookie にアクセスできません。これにより、iframe セッションの状態が新しいタブアクティビティに維持されなくなり、ユーザーが新しいタブで再度ログインするよう強制される可能性があります。 CHIPS API では、設計上、この問題を解決できません。パーティション化された iframe Cookie は、トップレベルのコンテキストではアクセスできません。

デベロッパーのアクション

Chrome でサードパーティ Cookie が段階的に廃止されるのに伴い、アドオンが意図したとおりに機能し続けるためには、いくつかの対応を検討する必要があります。

  1. アドオンのクリティカル ユーザー ジャーニーにおけるサードパーティ Cookie の使用監査します。具体的には、サードパーティ Cookie を無効にしてテストし、特定の実装に対する影響を評価します。
  2. Storage Access API について調べる。すべてのアドオンの実装で、Storage Access API(SAA)を確認することをおすすめします。SAA により、iframe は iframe コンテキスト外で Cookie にアクセスできます。SAA は Chrome で現在利用可能で Classroom アプリでサポートされています

  3. FedCM にオプトインします。また、GIS(Google でログイン ライブラリ)を使用している場合は、ID チームの公式ガイダンスにより、FedCM にオプトインする必要があります。これはサードパーティ Cookie の機能に取って代わるものではありませんが、サードパーティ Cookie のサポート終了に伴って最終的に GIS で必須になります。FedCM は現在 Chrome で利用可能で、Classroom でサポートされていますが、動作と機能はまだ開発中であり、フィードバックを受け付けています。

  4. GIS に移行するサポートが終了した GSIv2 ライブラリ(Google ログイン ライブラリ)を使用する場合は、今後の GSIv2 のサポートが不明なため、GIS に移行することを強くおすすめします。

  5. デプリケーション トライアルの遅延を申し込むChrome では、広告以外のユースケースでサードパーティ Cookie のサポート終了の影響を遅らせることができるよう、サポート終了トライアルを提供しています。承認された場合、アドオンで使用できるトークンが提供されます。このトークンを 2024 年を通してオリジンでサードパーティ Cookie を有効にしたまま、SAA などの長期的なソリューションに移行できます。申請後、バグ ID または障害レポートのリンクの提供を求められます。Classroom アドオンについては、担当チームがすでに報告済みとなっているため、こちらのバグをお知らせください。