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

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

概要

2024 年 1 月 4 日、Chrome にトラッキング防止機能が導入されました。この機能により、ウェブサイトによるサードパーティ(3P)Cookie へのアクセスがデフォルトでユーザーの 1% に制限されます。2025 年初頭に、Chrome はサードパーティ 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(この場合は localhost の DavidPuzzle)、(3)トップレベルの OAuth ダイアログ。

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

埋め込み iframe コンテキストでセッション Cookie を設定する実装の場合、この問題は 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 でログイン」ライブラリ)を使用している場合は、Identity チームの公式ガイダンスに従って FedCM を有効にする必要があります。これはサードパーティ Cookie の機能に代わるものではありませんが、サードパーティ Cookie のサポート終了に伴い、GIS で最終的に必要になります。FedCM は現在 Chrome で利用可能で、Classroom でサポートされていますが、動作と機能はまだ開発中であり、フィードバックを受け付けています。

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

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