Mempersiapkan penghentian penggunaan cookie pihak ketiga

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

Ringkasan

Pada 4 Januari 2024, Chrome memperkenalkan Fitur Anti-Pelacakan, yang membatasi akses situs ke cookie pihak ketiga (3P) secara default, kepada 1% pengguna. Di beberapa awal tahun 2025, Chrome diperkirakan akan menghentikan sepenuhnya cookie pihak ketiga.

Setidaknya dua perjalanan pengguna terdampak di 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 login ke Akun Google dan izin untuk 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) pihak ketiga yang disematkan iframe (DavidPuzzle di localhost dalam kasus ini), dan (3) OAuth tingkat atas dialog.

Dalam penerapan add-on biasa, cookie sesi ditetapkan pada penyelesaian proses {i>login<i} ini. Iframe add-on, yang berada dalam konteks tersemat, adalah dimuat ulang, kini dengan cookie sesi, sehingga pengguna dapat mengakses sesi yang diautentikasi. Namun, saat cookie pihak ketiga dinonaktifkan, situs dalam konteks yang disematkan seperti iframe add-on tidak dapat mengakses cookie dari konteks tingkat teratas. 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 dengan CHIPS API, yang memungkinkan situs tersemat menyetel dan mengakses cookie yang dipartisi (cookie yang dikunci pada sematan dan domain sematan). Namun, penerapan yang menetapkan cookie sesi di konteks tingkat atas dialog login tidak dapat mengakses di iframe, yang akan mencegah login.

Tab baru

Untuk alasan serupa, jika pengguna memiliki sesi terautentikasi berdasarkan cookie dalam iframe add-on, dan iframe akan meluncurkan pengguna ke tab tingkat atas baru untuk tab tingkat teratas tidak dapat mengakses cookie sesi yang dipartisi dari iframe. Hal ini mencegah status sesi iframe dipertahankan di tab baru aktivitas pengguna dan mungkin memaksa pengguna untuk login kembali di tab baru. CHIPS API berdasarkan desainnya tidak dapat mengatasi masalah ini; proses yang dipartisi cookie iframe tidak dapat diakses dalam konteks tingkat atas.

Tindakan developer

Ada beberapa tindakan yang harus dipertimbangkan 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. Selengkapnya khususnya, menguji dengan cookie pihak ketiga dinonaktifkan untuk mengevaluasi dampaknya terhadap implementasi spesifik Anda.
  2. Jelajahi Storage Access API. Untuk semua penerapan add-on, sebaiknya Anda mempelajari Storage Access API (SAA). SAA memungkinkan iframe untuk mengakses cookie mereka di luar konteks iframe. SAA tersedia di Chrome saat ini, dan didukung oleh aplikasi Classroom.

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

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

  5. Mengajukan permohonan penundaan uji coba penghentian penggunaan. Chrome menawarkan penghentian uji coba untuk memungkinkan kasus penggunaan non-iklan menunda efek pihak ketiga penghentian penggunaan cookie. Jika diterima, Anda akan diberikan token yang dapat Anda gunakan di add-on Anda untuk tetap mengaktifkan cookie pihak ketiga untuk origin Anda hingga tahun 2024, sekaligus bermigrasi ke solusi jangka panjang seperti SAA. Setelah mengajukan permohonan, Anda akan diminta untuk memberikan ID {i>bug<i} atau tautan untuk laporan kerusakan. Tim kami memiliki telah mengajukan ini untuk add-on Classroom dan Anda dapat melaporkan bug ini.