Bermigrasi ke FedCM

Panduan ini membantu Anda memahami perubahan pada aplikasi web yang diperkenalkan oleh Federated Credentials Management API (FedCM).

Saat FedCM diaktifkan, browser akan menampilkan perintah pengguna, tetapi tidak akan menampilkan perintah pihak ketiga cookie digunakan.

Ringkasan

FedCM memungkinkan alur login yang lebih pribadi tanpa memerlukan penggunaan cookie pihak ketiga. {i>Browser<i} mengontrol pengaturan pengguna, menampilkan perintah pengguna, dan hanya menghubungi Penyedia Identitas seperti Google setelah pengguna eksplisit persetujuan diberikan.

Untuk sebagian besar situs web, migrasi terjadi tanpa hambatan melalui kompatibilitas mundur update untuk library JavaScript Google Identity Services.

Update pada fitur Login Otomatis

Federated Credential Management (FedCM) Beta untuk Google Identity Services diluncurkan pada Agustus 2023. Banyak developer yang menguji API dan memberikan masukan yang berharga.

Satu respons yang didengar Google dari developer adalah tentang login otomatis FedCM persyaratan {i>gesture <i}alur pengguna. Untuk meningkatkan privasi, Chrome mengharuskan pengguna untuk konfirmasi ulang bahwa mereka ingin login ke situs dengan Akun Google di masing-masing Instance Chrome meskipun pengguna menyetujui situs sebelum FedCM peluncuran. Konfirmasi ulang satu kali ini dilakukan melalui satu klik tombol Perintah Sekali Ketuk untuk menunjukkan niat pengguna untuk login. Perubahan ini dapat menyebabkan gangguan awal pada rasio konversi login otomatis untuk beberapa situs.

Baru-baru ini di M121, Chrome melakukan perubahan pada login otomatis FedCM UX yang umum. Konfirmasi ulang hanya diperlukan bila cookie pihak ketiga dibatasi. Artinya:

  1. Login otomatis FedCM tidak memerlukan konfirmasi ulang untuk pengguna yang kembali. Jika pengguna mengonfirmasi ulang dengan UI FedCM, konfirmasi ulang ini akan diperhitungkan dalam persyaratan gestur pengguna untuk era pasca-3PCD.

  2. Login otomatis FedCM akan memeriksa status konfirmasi ulang saat cookie pihak ketiga dibatasi secara manual oleh pengguna saat ini, atau secara default Chrome yang akan datang.

Dengan perubahan ini, sebaiknya semua developer login otomatis bermigrasi ke FedCM sesegera mungkin, untuk mengurangi gangguan pada rasio konversi login otomatis.

Untuk alur login otomatis, GIS JavaScript tidak akan memicu FedCM pada platform lama Chrome (sebelum M121), meskipun situs Anda memilih untuk mengikutsertakan FedCM.

Perbedaan perjalanan pengguna

Pengalaman Sekali Ketuk yang menggunakan FedCM dan tanpa FedCM hanya serupa dengan perbedaan kecil.

Pengguna baru satu sesi

Menggunakan FedCM, Sekali Ketuk menampilkan nama domain, bukan nama aplikasi.

Menggunakan FedCM Tanpa FedCM
Pengguna baru satu sesi menggunakan FedCM Pengguna baru satu sesi tanpa FedCM

Pengguna yang kembali dengan satu sesi (dengan login otomatis dinonaktifkan)

Menggunakan FedCM, Sekali Ketuk menampilkan nama domain, bukan nama aplikasi.

Menggunakan FedCM Tanpa FedCM
Perjalanan pengguna yang kembali dengan satu sesi menggunakan FedCM (dengan login otomatis dinonaktifkan) Perjalanan pengguna yang kembali sesi tunggal tanpa FedCM (dengan login otomatis dinonaktifkan)

Pengguna yang kembali dengan satu sesi (dengan login otomatis diaktifkan)

Dengan menggunakan FedCM, pengguna dapat mengklik X untuk membatalkan login otomatis dalam waktu 5 detik, bukan mengklik tombol Cancel.

Menggunakan FedCM Tanpa FedCM
Perjalanan pengguna yang kembali satu sesi menggunakan FedCM (dengan login otomatis diaktifkan) Perjalanan pengguna yang kembali sesi tunggal tanpa FedCM (dengan login otomatis diaktifkan)

Beberapa sesi

Menggunakan FedCM, Sekali Ketuk menampilkan nama domain, bukan nama aplikasi.

Menggunakan FedCM Tanpa FedCM
Pengguna beberapa sesi yang menggunakan FedCM Pengguna beberapa sesi tanpa FedCM

Sebelum memulai

Pastikan setelan dan versi browser Anda mendukung FedCM API, sebaiknya update ke versi terbaru.

  • FedCM API tersedia di Chrome 117 atau yang lebih baru.

  • Setelan Login pihak ketiga diaktifkan di Chrome.

  • Jika browser Chrome Anda adalah versi 119 atau yang lebih lama, buka chrome://flags dan mengaktifkan fitur FedCmWithoutThirdPartyCookies eksperimental. Langkah ini tidak diperlukan dengan browser Chrome versi 120 atau yang lebih baru.

Memigrasikan aplikasi web Anda

Ikuti langkah-langkah berikut untuk mengaktifkan FedCM, mengevaluasi potensi dampak migrasi, dan jika diperlukan untuk melakukan perubahan pada aplikasi web Anda yang ada:

1. Tambahkan flag boolean untuk mengaktifkan FedCM saat melakukan inisialisasi menggunakan:

2. Hapus penggunaan metode isDisplayMoment(), isDisplayed(), isNotDisplayed(), dan getNotDisplayedReason() di kode Anda.

Untuk meningkatkan privasi pengguna, callback google.accounts.id.prompt no. lagi menampilkan notifikasi momen tampilan di Objek PromptMomentNotication. Hapus semua kode yang bergantung pada menampilkan metode terkait momen. Mereka adalah isDisplayMoment(), isDisplayed(), Metode isNotDisplayed(), dan getNotDisplayedReason().

3. Hapus penggunaan metode getSkippedReason() di kode Anda.

Meskipun momen pelewatan, isSkippedMoment(), akan tetap dipanggil dari Callback google.accounts.id.prompt di PromptMomentNotication , alasan terperincinya tidak akan diberikan. Hapus semua kode yang bergantung pada metode getSkippedReason() dari kode Anda.

Perhatikan bahwa notifikasi momen ditutup, isDismissedMoment(), dan metode alasan mendetail terkait, getDismissedReason(), tidak berubah saat FedCM diaktifkan.

4. Hapus position atribut gaya dari data-prompt_parent_id dan intermediate_iframes.

Browser mengontrol ukuran dan posisi perintah pengguna, serta posisi kustom untuk fitur Sekali Ketuk di Desktop tidak didukung.

5. Perbarui tata letak halaman jika diperlukan.

Browser mengontrol ukuran dan posisi perintah pengguna. Tergantung pada tata letak masing-masing laman, beberapa konten mungkin dihamparkan sebagai khusus posisi Sekali Ketuk di Desktop tidak didukung dengan cara apa pun seperti atribut gaya, data-prompt_parent_id, intermediate_iframes, iframe yang disesuaikan, dan cara materi iklan lainnya.

Mengubah tata letak halaman untuk meningkatkan pengalaman pengguna saat ada informasi penting menjadi kabur. Jangan membangun UX hanya dengan perintah Sekali Ketuk meskipun Anda berasumsi itu berada di posisi {i>default<i}. Karena FedCM API dimediasi oleh browser, vendor browser yang berbeda mungkin menempatkan posisi dialog secara berbeda.

6. Tambahkan atribut allow="identity-credentials-get" ke frame induk jika aplikasi web Anda memanggil API Sekali Ketuk dari iframe lintas origin.

iframe dianggap sebagai lintas origin jika origin tidak sama persis dengan origin induk. Misalnya:

  • Domain yang berbeda: https://example1.com dan https://example2.com
  • Domain level teratas yang berbeda: https://example.uk dan https://example.jp
  • Subdomain: https://example.com dan https://login.example.com

    Untuk meningkatkan privasi pengguna, saat One Tap API dipanggil dari iframe lintas origin, kamu harus tambahkan allow="identity-credentials-get" di setiap tag iframe frame induk:

    <iframe src="https://your.cross-origin/onetap.page" allow="identity-credentials-get"></iframe>
    

    Jika aplikasi menggunakan iframe yang berisi iframe lain, Anda harus pastikan bahwa atribut ditambahkan ke setiap iframe, termasuk semua sub-iframe.

    Misalnya, perhatikan skenario berikut:

  • Dokumen teratas (https://www.example.uk) berisi iframe bernama "Iframe A", yang menyematkan halaman (https://logins.example.com).

  • Halaman tersemat ini (https://logins.example.com) juga berisi iframe bernama "Iframe B", yang menyematkan halaman lebih lanjut (https://onetap.example2.com) yang menghosting fitur Sekali Ketuk.

    Untuk memastikan bahwa Sekali Ketuk dapat ditampilkan dengan benar, atribut harus ditambahkan untuk tag Iframe A dan Iframe B.

    Bersiap untuk pertanyaan di dialog Sekali Ketuk yang tidak ditampilkan. Situs lain dengan asal yang berbeda dapat menyematkan halaman Anda yang menghosting Sekali Ketuk dalam iframe. Anda mungkin menerima peningkatan jumlah tiket dukungan terkait dengan Sekali Ketuk tidak muncul dari pengguna akhir atau pemilik situs lainnya. Meskipun pembaruan hanya dapat dilakukan oleh pemilik situs di halaman mereka, Anda dapat melakukan hal berikut untuk mengurangi dampaknya:

  • Perbarui dokumentasi developer untuk menyertakan cara menyiapkan iframe untuk memanggil situs Anda dengan benar. Anda dapat menautkan ke halaman ini di dokumentasi Anda.

  • Perbarui halaman FAQ developer Anda jika berlaku.

  • Beri tahu tim dukungan Anda tentang perubahan mendatang ini dan bersiaplah untuk meresponsnya terhadap pertanyaan.

  • Hubungi partner, pelanggan, atau pemilik situs yang terpengaruh secara proaktif untuk transisi FedCM yang lancar.

7. Tambahkan perintah ini ke Kebijakan Keamanan Konten (CSP) Anda.

Langkah ini opsional karena tidak semua situs memilih untuk menentukan CSP.

  • Jika CSP tidak digunakan di situs Anda, perubahan tidak diperlukan.

  • Jika CSP Anda berfungsi untuk fitur Sekali Ketuk saat ini dan Anda tidak menggunakan connect-src, frame-src, script-src, style-src, atau default-src tidak ada perubahan diperlukan.

  • Jika tidak, ikuti panduan ini untuk menyiapkan CSP Anda. Tanpa CSP yang tepat khusus, opsi Sekali Ketuk FedCM tidak akan ditampilkan di situs.

8. Menghapus dukungan Accelerated Mobile Pages (AMP) untuk login.

Dukungan login pengguna untuk AMP adalah fitur opsional GIS aplikasi web Anda mungkin telah diimplementasikan. Jika masalahnya seperti ini,

Hapus semua referensi ke:

  • elemen kustom amp-onetap-google, dan

  • <script async custom-element="amp-onetap-google" src="https://cdn.ampproject.org/v0/amp-onetap-google-0.1.js"></script>
    

    Pertimbangkan untuk mengalihkan permintaan login dari AMP ke login HTML situs Anda alur kerja. Perhatikan bahwa Intermediate Iframe Support API terkait adalah tidak terpengaruh.

Menguji dan memverifikasi migrasi Anda

Setelah melakukan perubahan yang diperlukan berdasarkan langkah sebelumnya, Anda dapat memverifikasi migrasi berhasil.

  1. Pastikan browser Anda mendukung FedCM dan Anda memiliki Sesi akun.

  2. Buka halaman Sekali Ketuk di aplikasi Anda.

  3. Pastikan dialog Sekali Ketuk ditampilkan dan ditempatkan dengan aman saat ini.

  4. Mengonfirmasi bahwa kredensial yang benar ditampilkan ke endpoint atau metode callback Anda saat login ke aplikasi menggunakan Sekali Ketuk.

  5. Jika login otomatis diaktifkan, pastikan bahwa pembatalan berfungsi dengan baik dan perbaiki kredensial yang benar akan dikembalikan ke metode endpoint atau callback Anda.

Periode tunggu Sekali Ketuk

Mengklik Sekali Ketuk di pojok kanan atas menutup perintah dan memasuki periode tunggu menyembunyikan dialog Sekali Ketuk agar tidak ditampilkan untuk sementara. Di Chrome, jika Anda ingin menampilkan perintah Sekali Ketuk lagi sebelum periode tunggu berakhir, Anda dapat mereset status tunggu dengan mengklik ikon gembok di kolom URL dan mengklik tombol Reset Permission.

Masa tenang login otomatis

Jika menguji login otomatis dengan fitur Sekali Ketuk menggunakan FedCM, diperlukan waktu 10 menit masa tenang di antara setiap upaya masuk otomatis. Masa tenang tidak bisa {i>reset<i}. Anda harus menunggu selama 10 menit atau menggunakan Akun Google lain untuk pengujian guna memicu login otomatis lagi.

Sumber daya bermanfaat

Privacy Sandbox Analysis Tool (PSAT) adalah ekstensi Chrome DevTools untuk membantu adopsi API alternatif seperti FedCM. Cara kerjanya adalah dengan memindai situs untuk menemukan fitur yang terpengaruh dan memberikan daftar perubahan.