API web untuk penggabungan identitas yang menjaga privasi.
Apa itu FedCM?
FedCM (Federated Credential Management) adalah pendekatan yang menjaga privasi pendekatan terhadap layanan identitas gabungan (seperti "Login dengan...") dengan pengguna dapat masuk ke situs tanpa membagikan informasi pribadi mereka dengan 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 berbasis 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.
Untuk meminimalkan tantangan dalam men-deploy perubahan yang tidak kompatibel dengan versi sebelumnya, kami memiliki dua rekomendasi untuk penyedia identitas:
- Berlangganan newsletter tempat kami akan mengirimkan update seiring perkembangan API.
- Sebaiknya IdP untuk mendistribusikan FedCM API menggunakan JavaScript SDK saat API semakin matang, dan untuk mencegah RP agar tidak menghosting SDK yang dihosting sendiri. Hal ini akan memastikan IdP dapat melakukan perubahan seiring perkembangan API, tanpa harus meminta tepercaya untuk melakukan deployment ulang.
Mengapa kita memerlukan FedCM?
Selama satu dekade terakhir, penggabungan identitas telah memainkan peran utama dalam meningkatkan standar otentikasi di web, dalam hal ketepercayaan, kemudahan penggunaan (misalnya, login tunggal tanpa sandi) dan keamanan (misalnya, peningkatan ketahanan terhadap serangan phishing dan penjejalan kredensial) dibandingkan dengan developer per situs nama pengguna dan {i>password.<i}
Dengan penggabungan identitas, RP (pihak tepercaya) mengandalkan IdP (identitas penyedia) untuk menyediakan akun kepada pengguna tanpa memerlukan nama pengguna baru dan sandi.
Sayangnya, mekanisme yang diandalkan federasi identitas (iframe, pengalihan dan cookie) secara aktif disalahgunakan untuk melacak pengguna di seluruh web. Karena agen pengguna tidak dapat membedakan antara penggabungan identitas dan pengguna, mitigasi untuk berbagai jenis penyalahgunaan membuat penggabungan identitas menjadi lebih sulit.
Federated Credential Management API (FedCM) memberikan kasus penggunaan khusus abstraksi untuk aliran identitas gabungan di web, dengan mengekspos browser dialog yang dimediasi yang memungkinkan pengguna memilih akun dari IdP untuk login situs web.
FedCM adalah perjalanan multi-langkah untuk meningkatkan kualitas identitas di web. Dalam langkah pertama kami adalah mengurangi dampak pembatasan cookie pihak ketiga tentang identitas gabungan (lihat bagian Roadmap untuk mengetahui beberapa langkah lebih lanjut).
Hal apa yang akan terdampak?
Melalui komunitas upaya dan penelitian, kita mempelajari ada beberapa federasi identitas yang terkait integrasi yang terpengaruh oleh pembatasan cookie pihak ketiga:
- Saluran Depan OpenID Connect Keluar
- Sesi OpenID Connect Pengelolaan
- Token latar belakang berbasis Iframe perpanjangan
- Login berbasis Iframe widget
Sasaran pertama FedCM adalah mengurangi dampak pembatasan cookie pihak ketiga penggabungan identitas, dan ini adalah area yang kami perkirakan akan terdampak. Jika ada kasus penggunaan tambahan yang tidak tercantum, Anda dapat berinteraksi dan memberikan masukan.
Siapa yang sebaiknya menggunakan FedCM?
Kami harap FedCM dapat berguna bagi Anda hanya jika semua ketentuan berikut berlaku:
- Anda adalah penyedia identitas (IdP).
- Anda terpengaruh oleh pembatasan cookie pihak ketiga.
- RP Anda adalah situs pihak ketiga. Jika RP Anda merupakan situs yang terkait secara bermakna, layanan Anda mungkin akan lebih oleh Situs Terkait Kumpulan.
Anda adalah IdP
FedCM memerlukan dukungan dari penyedia identitas. {i>relying party <i}tidak dapat menggunakan FedCM secara independen. Jika Anda adalah RP, Anda dapat meminta IdP Anda untuk memberikan petunjuk.
Anda terpengaruh oleh pembatasan cookie pihak ketiga
Sebaiknya Anda hanya menggunakan FedCM jika integrasi Anda saat ini terpengaruh oleh pembatasan cookie pihak ketiga.
Jika tidak yakin apakah penggabungan identitas Anda akan terus berfungsi saat cookie pihak ketiga tidak tersedia, Anda dapat menguji efeknya pada situs dengan memblokir cookie pihak ketiga di Chrome.
Jika tidak ada dampak yang dapat ditemukan pada penggabungan identitas Anda, cookie pihak ketiga, Anda dapat terus menggunakan integrasi Anda saat ini tanpa data FedCM
Jika Anda tidak yakin apa yang harus diperiksa, baca selengkapnya tentang panduan baru yang diperkirakan akan terpengaruh oleh batasan cookie pihak ketiga.
RP Anda adalah pihak ketiga
Jika Anda adalah penyedia identitas yang RP-nya memiliki hubungan pihak pertama dengan IdP, kami memperkirakan Set Situs Terkait mungkin pilihan yang lebih baik. Set Situs Terkait (RWS) adalah cara organisasi untuk menyatakan 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 terkait secara bermakna, meskipun cookie pihak ketiga dibatasi.
Bagaimana pengguna akan berinteraksi dengan FedCM?
Fokus utama FedCM adalah mengurangi dampak cookie pihak ketiga pembatasan. Pengguna dapat mengaktifkan atau menonaktifkan FedCM di pengguna Chrome setelan.
FedCM dirancang agar menjadi agnostik protokol dan menawarkan fungsionalitas terkait otentikasi.
Lihat demo kami untuk mengetahui cara kerjanya.
Login ke pihak tepercaya
Saat pengguna membuka situs {i>relying party <i}(RP), dialog login FedCM akan muncul jika pengguna login ke IdP.
Jika pengguna tidak memiliki akun di RP dengan IdP, dialog pendaftaran akan muncul muncul dengan teks pengungkapan tambahan seperti persyaratan layanan RP dan kebijakan privasi jika disediakan.
Pengguna dapat menyelesaikan proses login dengan mengetuk Lanjutkan sebagai.... Jika berhasil, browser 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 masuk non-FedCM yang sudah ada. Pelajari lebih lanjut caranya cara login di FedCM.
Setelan untuk mengaktifkan atau menonaktifkan FedCM
Pengguna dapat mengaktifkan atau menonaktifkan FedCM di setelan pada Chrome pada Android. Buka Setelan > Setelan situs > Login pihak ketiga, lalu ubah tombol.
Mereka dapat melakukan hal yang sama untuk Chrome di desktop dengan membuka
chrome://settings/content/federatedIdentityApi
.
Roadmap
Kami sedang berupaya melakukan sejumlah perubahan pada FedCM. Lihat Update untuk mengetahui detail selengkapnya.
- Log Perubahan: Update Federated Credential Management API.
Ada beberapa hal yang kami tahu masih harus dilakukan, termasuk masalah yang dengar dari IdP, RP, dan vendor browser. Kami yakin bahwa kami tahu cara mengatasi masalah berikut:
- Dukungan iframe lintas origin: IdP dapat memanggil FedCM dari dalam iframe lintas origin (update).
- Tombol yang dipersonalisasi: IdP dapat menampilkan identitas pengguna yang kembali di tombol login dari dalam iframe lintas origin yang dimiliki IdP (update).
- Endpoint metrik: Memberikan metrik performa ke IdP.
Selain itu, ada masalah yang belum terselesaikan yang sedang kami selidiki secara aktif, termasuk proposal khusus yang kami evaluasi atau buat prototipenya:
- CORS: Kami berdiskusi dengan Apple dan Mozilla untuk memastikan peningkatan spesifikasi pengambilan FedCM.
- API Multi-IdP: Kami sedang mencari cara untuk mendukung beberapa IdP untuk bekerja sama dalam pemilih akun FedCM.
- IdP Sign-in Status API: Mozilla telah mengidentifikasi serangan waktu , dan kami sedang mencari cara agar IdP secara proaktif memberi tahu browser tentang proses login pengguna status menjadi memitigasi masalahnya. (pembaruan)
- Login ke IdP API: Untuk mendukung berbagai jenis yang sama, saat pengguna tidak login ke IdP, browser menyediakan UI bagi pengguna untuk login tanpa meninggalkan RP.
Terakhir, ada hal-hal yang kami yakini masih perlu dilakukan, berdasarkan masukan dari Mozilla, Apple dan TAG peninjau (peninjau). Kami sedang berupaya mengevaluasi solusi terbaik untuk pertanyaan terbuka ini:
- Meningkatkan pemahaman pengguna dan niat yang cocok: Sebagai Mozilla catatan, kami ingin terus mengeksplorasi berbagai rumusan dan area permukaan UX, serta kriteria pemicu.
- Atribut Identitas dan Pengungkapan Selektif: Sebagai Peninjau TAG kami catatan, kami ingin menyediakan mekanisme untuk secara selektif membagikan lebih banyak atau lebih sedikit identitas (seperti email, kelompok usia, nomor telepon, dan sebagainya).
- Menaikkan Properti Privasi: Seperti yang disarankan Mozilla dalam posisi standarnya, kami ingin terus mengeksplorasi mekanisme untuk menawarkan privasi yang lebih baik jaminan, seperti kebutaan IdP, ID yang diarahkan.
- Hubungan dengan WebAuthn: Seperti yang disarankan oleh Apple, kami sangat bersemangat untuk melihat kemajuan kunci sandi dan berfungsi untuk memberikan pengalaman kohesif antara FedCM, Sandi, WebAuthn, dan WebOTP.
- Status Login: Seperti yang disarankan Apple dengan Status Login dari Privacy CG API, kami berbagi intuisi bahwa status login pengguna adalah informasi penting yang dapat membantu browser membuat keputusan yang tepat, dan kami senang melihat peluang apa yang muncul dari sana. (pembaruan)
- Perusahaan dan Pendidikan: Sebagaimana jelas dalam FedID CG, masih ada banyak digunakan kasus yang tidak dilayani dengan baik oleh FedCM yang ingin kita kerjakan, seperti logout channel front (kemampuan IdP untuk mengirim sinyal ke RP untuk logout) dan dukungan untuk SAML.
- Hubungan dengan mDL/VC/dll.: teruslah berupaya memahami cara kerjanya sesuai dengan FedCM, misalnya dengan Permintaan Dokumen Seluler API baru.
Menggunakan FedCM API
Anda memerlukan konteks 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 dikenal luas untuk daftar akun, penerbitan pernyataan, dan (opsional) metadata klien. Dari sana, FedCM akan mengekspos 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, angkat masalah dan mengikuti diskusi.
- Dukungan developer: Ajukan pertanyaan dan ikuti diskusi di Privasi Dukungan Developer Sandbox Repositories.
Kepatuhan terhadap hukum ePrivasi
Menggunakan FedCM, baik sebagai IdP atau RP, melibatkan penyimpanan informasi di peralatan terminal pengguna atau akses ke informasi yang tersimpan di dalamnya, dan oleh karena itu, aktivitas tunduk kepada hukum ePrivasi di Wilayah Ekonomi Eropa (EEA) dan Inggris Raya umumnya memerlukan izin pengguna. Anda bertanggung jawab untuk menentukan apakah penggunaan FedCM oleh Anda benar-benar diperlukan untuk memberikan layanan online yang secara eksplisit diminta oleh pengguna, sehingga dikecualikan dari persyaratan izin. Untuk informasi selengkapnya, sebaiknya Anda membaca Kepatuhan Terkait Privasi Sandbox FAQ.