Mempersiapkan penghentian penggunaan cookie pihak ketiga

Panduan ini membantu Anda memahami dampak dan perubahan yang diperlukan pada add-on yang diperkenalkan oleh dukungan akhir Chrome untuk cookie pihak ketiga.

Ringkasan

Pada 4 Januari 2024, Chrome memperkenalkan Perlindungan Pelacakan, yang membatasi akses situs ke cookie pihak ketiga (3P) secara default, untuk 1% pengguna. Pada awal tahun 2025, Chrome berencana untuk menghentikan cookie pihak ketiga sepenuhnya.

Setidaknya dua perjalanan pengguna terkena dampak pada add-on Classroom:

  1. Alur single sign-on (SSO) Google
  2. Meluncurkan pengguna ke tab baru

SSO Google

Selama alur SSO Google, pengguna diarahkan ke dialog untuk login ke Akun Google mereka dan mengizinkan berbagi data.

Visualisasi tiga konteks cookie yang berbeda selama SSO dari dalam
iframe

Gambar 1. Visualisasi tiga konteks cookie yang berbeda selama SSO dari dalam iframe: (1) aplikasi Classroom tingkat atas, (2) iframe tersemat pihak ketiga (dalam hal ini DavidPuzzle di localhost), dan (3) dialog OAuth tingkat atas.

Dalam penerapan add-on standar, cookie sesi ditetapkan saat penyelesaian proses login ini. iframe add-on, yang berada dalam konteks tersemat, dimuat ulang, kini dengan cookie sesi, yang memungkinkan pengguna mengakses sesi yang diautentikasi. Namun, jika cookie pihak ketiga dinonaktifkan, situs dalam konteks yang disematkan seperti iframe add-on tidak dapat mengakses cookie dari konteks tingkat teratas masing-masing. Untuk add-on Classroom, pengguna tidak dapat mengakses sesi yang diautentikasi dan terjebak dalam loop login.

Untuk penerapan yang menetapkan cookie sesi dalam konteks iframe tersemat, masalah ini dapat dimitigasi oleh CHIPS API, yang memungkinkan situs tersemat dapat menetapkan dan mengakses cookie yang dipartisi (cookie yang dikuncikan di domain penyemat dan domain tersemat). Namun, penerapan yang menetapkan cookie sesi dalam konteks tingkat teratas dari dialog login tidak dapat mengakses cookie yang tidak dipartisi di iframe sehingga mencegah login.

Tab baru

Untuk alasan serupa, jika pengguna memiliki sesi terautentikasi berbasis cookie dalam iframe add-on, dan iframe meluncurkan pengguna ke tab tingkat teratas yang baru untuk suatu aktivitas, tab tingkat teratas tidak dapat mengakses cookie sesi yang dipartisi dari iframe. Hal ini mencegah status sesi iframe tetap ada ke aktivitas tab baru dan, misalnya, mungkin memaksa pengguna untuk login lagi di tab baru. CHIPS API tidak dapat menyelesaikan masalah ini karena desainnya; cookie iframe yang dipartisi tidak dapat diakses dalam konteks tingkat atas.

Tindakan developer

Ada beberapa tindakan yang harus Anda pertimbangkan untuk memastikan add-on Anda terus berfungsi sebagaimana mestinya saat Chrome menghentikan cookie pihak ketiga.

  1. Audit penggunaan cookie pihak ketiga dalam perjalanan penting pengguna add-on Anda. Lebih khususnya, uji dengan cookie pihak ketiga dinonaktifkan untuk mengevaluasi dampak terhadap implementasi spesifik Anda.
  2. Pelajari Storage Access API. Untuk semua implementasi add-on, sebaiknya Anda mempelajari Storage Access API (SAA). SAA memungkinkan iframe mengakses cookie-nya di luar konteks iframe. SAA saat ini tersedia di Chrome dan didukung oleh aplikasi Classroom.

  3. Ikut serta dalam FedCM. Selain itu, jika Anda menggunakan GIS, library Login dengan Google, panduan resmi dari tim Identity adalah ikut serta dalam FedCM. Hal ini tidak menggantikan kemampuan cookie pihak ketiga, tetapi pada akhirnya akan diperlukan di GIS sebagai bagian dari penghentian cookie pihak ketiga. FedCM saat ini tersedia di Chrome dan didukung di Classroom, tetapi perilaku dan fitur masih dalam pengembangan dan menerima masukan.

  4. Bermigrasi ke GIS. Jika Anda menggunakan library GSIv2 yang tidak digunakan lagi, yang juga dikenal sebagai library Login dengan Google, sebaiknya Anda bermigrasi ke GIS karena dukungan untuk GSIv2 ke depannya tidak jelas.

  5. Mengajukan penundaan uji coba penghentian penggunaan. Chrome menawarkan uji coba penghentian penggunaan untuk mengizinkan kasus penggunaan non-iklan menunda efek penghentian penggunaan cookie pihak ketiga. Jika disetujui, Anda akan diberi token yang dapat digunakan di add-on agar cookie pihak ketiga tetap diaktifkan untuk origin Anda hingga 2024, sambil bermigrasi ke solusi jangka panjang seperti SAA. Setelah mengajukan permohonan, Anda akan diminta untuk memberikan ID bug atau link untuk laporan kerusakan. Tim kami telah melaporkan masalah ini untuk add-on Classroom, dan Anda dapat melaporkan bug ini.