このガイドでは、Chrome でのサードパーティ Cookie のサポート終了によってアドオンにどのような影響が生じ、どのような変更が必要になるかについて説明します。
概要
2024 年 1 月 4 日、Chrome は トラッキング防止機能を導入しました。この機能は、ウェブサイトによるサードパーティ(3P)Cookie へのアクセスをデフォルトで制限するもので、ユーザーの 1% を対象としています。2025 年初頭に、Chrome はサードパーティ Cookie を完全に廃止する予定です。
Classroom アドオンでは、少なくとも 2 つのユーザー ジャーニーが影響を受けます。
- Google シングル サインオン(SSO)フロー
- 新しいタブでユーザーを起動する
Google SSO
Google SSO フローでは、ユーザーは Google アカウントにログインしてデータ共有に同意するためのダイアログに移動します。
図 1. iframe 内からの SSO 中の 3 つの異なる Cookie コンテキストの可視化: (1)トップレベルの Classroom アプリ、(2)埋め込まれたサードパーティの iframe(この場合は localhost の DavidPuzzle)、(3)トップレベルの OAuth ダイアログ。
一般的なアドオン実装では、このログイン プロセスの完了時にセッション Cookie が設定されます。アドオン iframe(埋め込みコンテキスト内)がセッション Cookie とともに再読み込みされ、ユーザーは認証済みセッションにアクセスできるようになります。ただし、サードパーティ Cookie が無効になっている場合、アドオンの iframe などの埋め込みコンテキストのサイトは、それぞれのトップレベル コンテキストから Cookie にアクセスできません。Classroom アドオンの場合、ユーザーは認証済みセッションにアクセスできず、ログイン ループに陥ります。
埋め込み iframe コンテキストでセッション Cookie を設定する実装の場合、この問題は CHIPS API で軽減できます。この API を使用すると、埋め込みサイトでパーティション分割された Cookie(埋め込み元と埋め込み先の両方のドメインでキー設定された Cookie)を設定してアクセスできます。ただし、ログイン ダイアログのトップレベル コンテキストでセッション Cookie を設定する実装では、iframe 内のパーティション分割されていない Cookie にアクセスできないため、ログインできません。
新しいタブ
同様の理由で、ユーザーがアドオン iframe で Cookie ベースの認証セッションを使用している場合、iframe がアクティビティの新しいトップレベル タブでユーザーを起動すると、トップレベル タブは iframe からパーティション化されたセッション Cookie にアクセスできません。これにより、iframe セッションの状態が新しいタブのアクティビティに保持されなくなり、たとえば、新しいタブでユーザーが再度ログインする必要が生じる可能性があります。CHIPS API は、設計上、この問題を解決できません。パーティション分割された iframe Cookie は、トップレベルのコンテキストではアクセスできません。
デベロッパーのアクション
Chrome でサードパーティ Cookie が段階的に廃止される中、アドオンが引き続き意図したとおりに機能するように、いくつかの対応を検討する必要があります。
- アドオンのクリティカル ユーザー ジャーニーにおけるサードパーティ Cookie の使用状況を監査します。具体的には、サードパーティ Cookie を無効にしてテストし、特定の実装に対する影響を評価します。
Storage Access API についてをご覧ください。すべてのアドオン実装で、Storage Access API(SAA)を検討することをおすすめします。SAA を使用すると、iframe は iframe コンテキスト外で Cookie にアクセスできます。SAA は現在 Chrome で利用可能で、Classroom アプリでサポートされています。
FedCM を有効にします。また、GIS(「Google でログイン」ライブラリ)を使用している場合は、Identity チームの公式ガイダンスに沿って FedCM を有効にすることをおすすめします。これはサードパーティ Cookie の機能を置き換えるものではありませんが、サードパーティ Cookie のサポート終了の一環として、最終的には GIS で必要になります。FedCM は現在 Chrome で利用可能で、Classroom でサポートされていますが、動作と機能はまだ開発中であり、フィードバックを募集しています。
GIS に移行する。非推奨の GSIv2 ライブラリ(Google ログイン ライブラリとも呼ばれます)を使用している場合は、今後の GSIv2 のサポートが不明確であるため、GIS に移行することを強くおすすめします。
非推奨トライアルの遅延を申請する。Chrome では、広告以外のユースケースでサードパーティ Cookie のサポート終了の影響を遅らせることができるサポート終了トライアルを提供しています。承認されると、アドオンで使用できるトークンが提供されます。このトークンを使用すると、SAA などの長期的なソリューションに移行する間、2024 年までオリジンでサードパーティ Cookie を有効に保つことができます。申請後、破損レポートのバグ ID またはリンクの提供を求められます。Classroom アドオンについては、すでにチームがこの問題を報告しています。こちらのバグをご参照ください。