API web untuk penggabungan identitas yang menjaga privasi.
Apa itu FedCM?
FedCM (Pengelolaan Kredensial Federasi) adalah pendekatan yang menjaga privasi terhadap layanan identitas gabungan (seperti "Login dengan..."), yang memungkinkan pengguna login ke situs tanpa membagikan informasi pribadi mereka ke layanan identitas atau situs.
Status penerapan
- Status Platform Chrome
- FedCM dikirimkan di Chrome 108.
- Proposal FedCM terbuka untuk diskusi publik.
- FedCM belum didukung di browser lain.
- Mozilla mengimplementasikan prototipe untuk Firefox dan Apple telah menyatakan minat dan dukungan umum untuk bekerja sama dalam proposal FedCM.
Ke depannya, kami berencana untuk memperkenalkan sejumlah fitur baru berdasarkan masukan yang kami terima dari penyedia identitas (IdP), pihak tepercaya (RP), dan vendor browser. Meskipun kami berharap penyedia identitas akan mengadopsi FedCM, perhatikan bahwa FedCM masih merupakan API yang sedang dalam pengembangan aktif dan bahwa perubahan inkompatibilitas mundur diperkirakan akan terjadi hingga Kuartal 4 2023.
Untuk meminimalkan tantangan dalam men-deploy perubahan inkompatibilitas mundur, saat ini kami memiliki dua rekomendasi untuk penyedia identitas:
- Berlangganan ke newsletter kami yang akan mengirimkan info terbaru seiring perkembangan API.
- Sebaiknya IdP untuk mendistribusikan FedCM API melalui JavaScript SDK saat API semakin matang, dan mencegah RP agar tidak menghosting SDK sendiri. Hal ini akan memastikan IdP dapat membuat perubahan seiring berkembangnya API, tanpa harus meminta semua pihak tepercaya mereka untuk men-deploy ulang.
Mengapa kita memerlukan FedCM?
Selama satu dekade terakhir, identity federation telah memainkan peran penting dalam meningkatkan standar autentikasi di web, dalam hal kepercayaan, kemudahan penggunaan (misalnya, login tunggal tanpa sandi) dan keamanan (misalnya, peningkatan ketahanan terhadap serangan phishing dan penjejalan kredensial) dibandingkan dengan nama pengguna dan sandi per situs.
Dengan penggabungan identitas, RP (pihak tepercaya) mengandalkan IdP (penyedia identitas) untuk memberi pengguna akun tanpa memerlukan nama pengguna dan sandi baru.
Sayangnya, mekanisme yang diandalkan penggabungan identitas (iframe, pengalihan, dan cookie) secara aktif disalahgunakan untuk melacak pengguna di seluruh web. Karena agen pengguna tidak dapat membedakan antara penggabungan identitas dan pelacakan, mitigasi untuk berbagai jenis penyalahgunaan mempersulit deployment penggabungan identitas.
FedCM (FedCM) menyediakan abstraksi khusus kasus penggunaan untuk alur identitas gabungan di web, dengan mengekspos dialog yang dimediasi browser yang memungkinkan pengguna memilih akun dari IdP untuk login ke situs.
FedCM adalah perjalanan multi-langkah untuk menjadikan identitas di web lebih baik. Pada langkah pertamanya, kami berfokus untuk mengurangi dampak penghentian penggunaan cookie pihak ketiga pada identitas gabungan (lihat bagian Roadmap untuk mengetahui beberapa langkah lebih lanjut).
Menurut perkiraan kami, apa saja yang akan terpengaruh?
Melalui upaya komunitas dan riset kami, kami mengetahui bahwa ada beberapa integrasi terkait penggabungan identitas yang terpengaruh oleh penghentian cookie pihak ketiga:
- Logout dari Saluran Depan dari OpenID Connect
- Pengelolaan Sesi OpenID Connect
- Perpanjangan token latar belakang berbasis Iframe
- Widget login berbasis Iframe
Tujuan pertama FedCM adalah mengurangi dampak penghentian cookie pihak ketiga pada penggabungan identitas. Daftar di atas adalah daftar area yang diperkirakan akan terpengaruh. Jika ada kasus penggunaan tambahan yang belum kami cantumkan, sebaiknya Anda berikan masukan.
Siapa yang sebaiknya menggunakan FedCM?
Kami harap FedCM berguna bagi Anda hanya jika semua kondisi ini berlaku:
- Anda adalah penyedia identitas (IdP).
- Anda terpengaruh oleh penghentian cookie pihak ketiga.
- RP Anda adalah situs pihak ketiga. Jika RP Anda adalah situs yang terkait secara bermakna, Anda mungkin akan lebih baik dilayani oleh Set Situs Terkait.
Anda adalah IdP
FedCM memerlukan dukungan dari penyedia identitas. Pihak tepercaya tidak dapat menggunakan FedCM secara independen. Jika Anda merupakan RP, Anda dapat meminta IdP untuk memberikan petunjuk.
Anda terpengaruh oleh penghentian cookie pihak ketiga
Sebaiknya hanya gunakan FedCM jika integrasi Anda saat ini terpengaruh oleh penghentian cookie pihak ketiga.
Jika tidak yakin apakah penggabungan identitas Anda akan terus berfungsi setelah penghentian cookie pihak ketiga Chrome, Anda dapat menguji efeknya di situs dengan memblokir cookie pihak ketiga di Chrome.
Jika tidak ada dampak yang dapat ditemukan pada penggabungan identitas Anda tanpa cookie pihak ketiga, Anda dapat terus menggunakan integrasi saat ini tanpa FedCM.
Jika Anda tidak yakin apa yang harus diperiksa, baca selengkapnya tentang fitur umum yang diperkirakan akan terpengaruh oleh penghentian ini.
RP Anda adalah pihak ketiga
Jika Anda adalah penyedia identitas yang RP-nya memiliki hubungan pihak pertama dengan IdP, Set Situs Terkait mungkin dapat menjadi opsi yang lebih baik. Set Situs Terkait (RWS) adalah cara bagi organisasi untuk mendeklarasikan hubungan antar-situs, sehingga browser mengizinkan akses cookie pihak ketiga yang terbatas untuk tujuan tertentu. Hal ini memungkinkan cookie pihak ketiga berfungsi di antara kumpulan situs yang sangat terkait, bahkan setelah cookie pihak ketiga tidak lagi digunakan.
Bagaimana pengguna akan berinteraksi dengan FedCM?
Saat ini, fokus utama FedCM adalah mengurangi dampak penghentian cookie pihak ketiga. Pengguna dapat mengaktifkan atau menonaktifkan FedCM di setelan pengguna Chrome.
FedCM dirancang agar tidak bergantung pada protokol dan menawarkan fungsi terkait autentikasi berikut.
Lihat demo kami untuk melihat cara kerjanya.
Login ke sistem tepercaya
Saat pengguna membuka situs pihak tepercaya (RP), dialog login FedCM akan muncul jika pengguna login ke IdP.
Jika pengguna tidak memiliki akun di RP dengan IdP, dialog pendaftaran akan muncul dengan teks pengungkapan tambahan seperti persyaratan layanan dan kebijakan privasi RP jika disediakan.
Pengguna dapat menyelesaikan login dengan mengetuk Lanjutkan sebagai.... Jika berhasil, browser akan menyimpan fakta bahwa pengguna telah membuat akun gabungan di RP dengan IdP.
RP diharapkan berfungsi di browser yang tidak mendukung FedCM. Pengguna harus dapat menggunakan proses login non-FedCM yang sudah ada. Pelajari lebih lanjut cara kerja login di FedCM.
Setelan untuk mengaktifkan atau menonaktifkan FedCM
Pengguna dapat mengaktifkan atau menonaktifkan FedCM di setelan pada Chrome di Android. Buka Setelan > Setelan situs > Login pihak ketiga, lalu ubah tombolnya.
Pengguna dapat melakukan hal yang sama untuk Chrome di desktop dengan membuka
chrome://settings/content/federatedIdentityApi
.
Roadmap
Kami sedang berupaya menerapkan sejumlah perubahan pada FedCM.
Beberapa pembaruan telah diterapkan berdasarkan masukan. Konsep ini juga diperkirakan akan terus berkembang hingga setidaknya Kuartal 4 2023 setidaknya untuk stabil. Lihat Update untuk mengetahui detail selengkapnya.
- Log Perubahan: Update Federated Credential Management API.
Ada beberapa hal yang kami ketahui yang masih perlu dilakukan, termasuk masalah yang kami dengar dari IdP, RP, dan vendor browser. Kami yakin kami tahu cara menyelesaikan masalah ini:
- Dukungan iframe lintas origin: IdP dapat memanggil FedCM dari dalam iframe lintas origin (update).
- Tombol yang dipersonalisasi: IdP dapat menampilkan identitas pengguna yang kembali melalui tombol login dari dalam iframe lintas origin yang dimiliki IdP (update).
- Endpoint metrik: Memberikan metrik performa ke IdP.
Selain itu, ada masalah belum terselesaikan yang sedang kami pelajari secara aktif, termasuk proposal spesifik yang kami evaluasi atau buat prototipenya:
- CORS: Kami berdiskusi dengan Apple dan Mozilla untuk memastikan peningkatan spesifikasi pengambilan FedCM.
- Multi-IdP API: Kami sedang mempelajari cara untuk mendukung beberapa IdP agar dapat digunakan secara bersama-sama di pemilih akun FedCM.
- IdP Sign-in Status API: Mozilla telah mengidentifikasi masalah serangan waktu, dan kami sedang mempelajari cara agar IdP secara proaktif dapat memberi tahu browser tentang status login pengguna guna mengurangi masalah tersebut. (update)
- Login ke IdP API: Untuk mendukung berbagai skenario, saat pengguna tidak login ke IdP, browser akan menyediakan UI bagi pengguna untuk login tanpa keluar dari RP.
Terakhir, ada hal-hal yang menurut kami masih perlu dilakukan, berdasarkan masukan dari Mozilla, Apple, dan pengulas TAG. Kami sedang berupaya mengevaluasi solusi terbaik untuk pertanyaan terbuka ini:
- Meningkatkan pemahaman pengguna dan intent pencocokan: Seperti yang dicatat oleh Mozilla, kami ingin terus mengeksplorasi berbagai formulasi UX dan area platform, serta kriteria pemicu.
- Atribut Identitas dan Pengungkapan Selektif: Seperti yang dicatat oleh Peninjau TAG, kami ingin memberikan mekanisme untuk membagikan atribut identitas yang lebih banyak atau lebih sedikit secara selektif (seperti email, kelompok usia, nomor telepon, dan sebagainya).
- Meningkatkan Properti Privasi: Seperti yang disarankan Mozilla di sini, kami ingin terus mengeksplorasi mekanisme untuk menawarkan jaminan privasi yang lebih baik, seperti kebutaan IdP, ID yang diarahkan.
- Hubungan dengan WebAuthn: Seperti yang disarankan oleh Apple, kami sangat antusias untuk melihat progres kunci sandi dan berupaya memberikan pengalaman yang koheren dan kohesif antara FedCM, Passwords, WebAuthn, dan WebOTP.
- Status Login: Seperti yang disarankan Apple dengan Login Status API dari Privacy CG, kami menyatakan bahwa status login pengguna adalah informasi berguna yang dapat membantu browser membuat keputusan yang tepat, dan kami tidak sabar untuk melihat peluang yang timbul dari hal tersebut. (update)
- Enterprises and Education: Sebagaimana jelas di FedID CG, masih ada banyak kasus penggunaan yang tidak dilayani dengan baik oleh FedCM yang ingin kami tangani, seperti logout dari saluran depan (kemampuan bagi IdP untuk mengirim sinyal ke RP untuk logout) dan dukungan untuk SAML.
- Hubungan dengan mDL/VC/dll.: teruslah berusaha untuk memahami kesesuaiannya dengan FedCM, misalnya dengan Mobile Document Request API.
Menggunakan FedCM API
Anda memerlukan konteks yang aman (HTTPS atau localhost) di IdP dan RP di Chrome untuk menggunakan FedCM.
Untuk berintegrasi dengan FedCM, Anda perlu membuat file, file konfigurasi, dan endpoint yang sudah dikenal luas untuk daftar akun, penerbitan pernyataan, dan metadata klien secara opsional. Dari sana, FedCM akan menampilkan JavaScript API yang dapat digunakan RP untuk login dengan IdP.
Untuk mempelajari cara menggunakan FedCM API, lihat panduan developer FedCM.
Berinteraksi dan memberikan masukan
- GitHub: Baca penjelasan, kemukakan masalah dan ikuti diskusi.
- Dukungan developer: Ajukan pertanyaan dan ikuti diskusi di repo Dukungan Developer Privacy Sandbox.
Kepatuhan terhadap hukum ePrivasi
Penggunaan FedCM, baik sebagai IdP atau RP, melibatkan penyimpanan informasi di peralatan terminal pengguna atau akses ke informasi yang sudah tersimpan di dalamnya, sehingga aktivitas yang tunduk pada hukum ePrivasi di Wilayah Ekonomi Eropa (EEA) dan Inggris Raya umumnya memerlukan izin pengguna. Anda bertanggung jawab untuk menentukan apakah penggunaan FedCM Anda sangat diperlukan untuk menyediakan layanan online yang diminta secara eksplisit oleh pengguna, sehingga dikecualikan dari persyaratan izin. Untuk informasi selengkapnya, sebaiknya baca FAQ Kepatuhan terkait Privasi Privacy Sandbox.