FedCM: API federasi identitas yang menjaga privasi

Halaman ini menjelaskan manfaat FedCM, siapa yang harus mempertimbangkan untuk menerapkan FedCM dan cara pengguna berinteraksi dengan FedCM.

Pengelolaan Kredensial Gabungan (FedCM) adalah pendekatan yang berfokus pada privasi dan mudah digunakan untuk layanan identitas gabungan (seperti Login dengan Penyedia Identitas) yang tidak mengandalkan cookie pihak ketiga atau pengalihan navigasi.

Dengan FedCM, pengguna akan diberikan cara baru untuk mengautentikasi dengan penyedia identitas pihak ketiga di situs.

Apa itu penggabungan identitas

Federasi identitas mendelegasikan autentikasi atau otorisasi individu (pengguna atau entitas) ke penyedia identitas (IdP) eksternal tepercaya. Kemudian, IdP mengizinkan individu untuk login ke situs pihak tepercaya (RP). Dengan federasi identitas, RP mengandalkan IdP untuk memberikan akun kepada pengguna tanpa memerlukan nama pengguna dan sandi baru.

Dengan solusi identitas gabungan, pengguna tidak perlu membuat kumpulan kredensial lain untuk setiap RP. Hal ini meningkatkan pengalaman pengguna, mengurangi peluang terjadinya phishing, dan membantu RP mendapatkan informasi pengguna terverifikasi dari penyedia identitas tepercaya.

Solusi konvensional dan cookie pihak ketiga

Mekanisme federasi identitas konvensional mengandalkan iframe, pengalihan, atau cookie pihak ketiga, sehingga menimbulkan masalah privasi. Solusi ini dapat dieksploitasi untuk melacak pengguna di seluruh web, dan browser tidak dapat membedakan antara layanan identitas yang sah dan pengawasan yang tidak diinginkan.

Dengan mempertimbangkan masalah privasi, browser utama membatasi cookie pihak ketiga. Hal ini dapat memengaruhi beberapa fungsi. Melalui upaya komunitas dan riset kami, kami mengetahui bahwa ada beberapa integrasi terkait federasi identitas yang terpengaruh oleh pembatasan cookie pihak ketiga.

Penggabungan identitas dengan FedCM

FedCM tidak bergantung pada protokol: FedCM dapat diterapkan sebagai solusi mandiri atau sebagai lapisan tambahan yang dapat dimanfaatkan oleh berbagai protokol. Misalnya, server OAuth fungsional dapat memanfaatkan pengalaman login sekali ketuk yang dimediasi browser dan UI intuitif FedCM dengan menerapkan endpoint FedCM, lalu menukar kode otorisasi yang ditampilkan dalam respons FedCM dengan token akses OAuth.

Mengapa kita memerlukan FedCM?

Dibandingkan dengan solusi konvensional, solusi ini menawarkan beberapa manfaat bagi ekosistem web, yang dirancang dengan mempertimbangkan pengguna, developer RP, dan IdP.

Dukungan untuk solusi identitas tanpa cookie pihak ketiga

FedCM dapat membantu mengurangi ketergantungan pada cookie pihak ketiga, yang sering digunakan untuk melacak pengguna di seluruh web. API ini menawarkan pengalaman login yang dipersonalisasi bahkan saat cookie pihak ketiga tidak tersedia (misalnya, dalam mode Samaran).

FedCM juga terintegrasi dengan Privacy Sandbox API lainnya. Misalnya, Storage Access API menggunakan autentikasi FedCM sebagai sinyal kepercayaan. Integrasi ini berguna bagi situs yang mengandalkan FedCM untuk autentikasi dan SAA untuk mengizinkan iframe lintas origin mengakses penyimpanan yang diperlukan.

Pengalaman pengguna yang lebih baik

FedCM memperkenalkan dialog UI yang dimediasi browser untuk proses login sekali ketuk yang disederhanakan. API ini juga mengatasi masalah halaman login yang berantakan, yang terkadang disebut sebagai masalah NASCAR.

Contoh masalah NASCAR: Situs dengan UI yang berantakan karena pilihan tujuh opsi login yang berbeda.
Contoh masalah NASCAR: Situs dengan UI yang berantakan karena pilihan IdP yang terlalu lebar.

Daripada menampilkan banyak tombol login sosial yang membingungkan, FedCM menyediakan antarmuka yang lebih sederhana dan mudah digunakan.

Keamanan

Pendekatan Identitas Gabungan memungkinkan pengguna menggunakan akun tepercaya yang dikelola oleh IdP. Dengan pendekatan ini, pengguna tidak perlu menambahkan kredensial ke setiap situs. Tindakan ini mengurangi permukaan untuk serangan phishing. Selain itu, alih-alih menerapkan langkah-langkah keamanan yang andal sendiri, RP dapat mengandalkan keahlian IdP yang berspesialisasi dalam pengelolaan identitas yang aman.

FedCM bertujuan untuk membuat alur identitas gabungan menjadi lebih nyaman bagi pengguna, sehingga mendorong mereka untuk lebih memilihnya daripada alur identitas yang kurang aman.

Pengalaman yang dipersonalisasi untuk lebih banyak pengguna

FedCM mengurangi hambatan UX selama alur pendaftaran akun. Studi kasus Google Identity Service menunjukkan bahwa pengguna lebih suka membuat akun dengan alur Login Sekali Klik FedCM daripada opsi login multi-langkah.

Dengan FedCM, lebih banyak IdP dapat menawarkan pengalaman login sekali ketuk kepada penggunanya. Dengan lebih banyak IdP yang menawarkan alur identitas sekali ketuk, pengguna dapat memilih dari lebih banyak IdP di RP. FedCM menyediakan mekanisme pemilihan IdP yang lebih baik dengan menampilkan akun yang paling relevan kepada pengguna.

Dengan rasio pendaftaran yang lebih tinggi, RP dapat menawarkan pengalaman yang dipersonalisasi kepada lebih banyak pengguna.

Dukungan untuk berbagai Penyedia Identitas

UI FedCM yang disederhanakan bertujuan untuk menyajikan daftar IdP yang relevan kepada pengguna. Dengan mekanisme pemilihan IdP FedCM, pilihan IdP RP tidak lagi dibatasi oleh seberapa besar basis pengguna IdP. Misalnya, sebagian pengguna mungkin hanya memiliki akun dengan small-idp.example, dan tidak dengan bigger-idp.example.

Dengan fitur Multi-IdP, rp.example dapat mendukung small-idp.example dan bigger-idp.example tanpa membuat UI berantakan. Hal ini menguntungkan semua pihak:

  • Pengguna dapat memilih IdP pilihan mereka, baik itu besar maupun kecil.
  • RP menjangkau lebih banyak pengguna melalui dukungan IdP yang beragam
  • IdP dengan basis pengguna yang lebih kecil tersedia di lebih banyak RP.

Siapa yang sebaiknya menggunakan FedCM?

Kami berharap FedCM bermanfaat bagi Anda hanya jika kondisi berikut berlaku:

  • Anda adalah penyedia identitas (IdP) dengan RP pihak ketiga.
  • Anda memiliki solusi identitas sendiri dan beberapa domain yang mengandalkannya.
  • Anda bertujuan untuk mendukung alur identitas gabungan bahkan untuk pengguna yang memilih untuk menjelajah tanpa cookie pihak ketiga.

Anda adalah IdP

FedCM memerlukan dukungan dari penyedia identitas. Pihak tepercaya tidak dapat menggunakan FedCM secara independen. Jika Anda adalah RP, Anda dapat meminta IdP Anda untuk memberikan petunjuk.

Beberapa RP

Jika RP Anda adalah pihak ketiga, atau Anda memiliki lebih dari empat RP yang menggunakan solusi identitas Anda, FedCM adalah API yang direkomendasikan untuk identitas gabungan.

Anda bertujuan untuk mendukung alur penggabungan identitas tanpa cookie

FedCM mendukung alur identitas gabungan penting bahkan untuk pengguna yang menjelajah tanpa cookie pihak ketiga. Dengan FedCM, pengguna tetap dapat mendaftar, login, dan logout dengan akun gabungan mereka di RP.

Selain itu, FedCM berfungsi sebagai sinyal kepercayaan untuk Storage Access API, sehingga menghilangkan hambatan untuk permintaan akses penyimpanan yang dimulai IdP.

Interaksi pengguna dengan FedCM

FedCM dirancang agar tidak bergantung pada protokol autentikasi dan menawarkan alur baru kepada pengguna untuk mengautentikasi ke RP dengan IdP pihak ketiga. Coba FedCM dengan demo kami.

Login ke pihak tepercaya

Pengguna dapat memilih akun dari serangkaian IdP yang didukung oleh RP. Jika pengguna login dengan beberapa IdP, mereka akan diminta untuk login ke RP menggunakan salah satunya.

Akun pengguna ditampilkan dalam urutan berikut:

  • Akun yang diakses di perangkat pengguna ditampilkan terlebih dahulu, dengan akun yang paling baru diakses ditampilkan paling awal.
  • Akun yang telah diakses oleh pengguna di RP menurut IdP ditampilkan berikutnya. Informasi tentang akun mana yang telah diakses diekstrak dari nilai properti endpoint akun approved_clients.
  • Akun yang belum pernah digunakan di RP sebelumnya ditampilkan terakhir.

Jika ada beberapa akun dalam salah satu tingkat prioritas ini, akun-akun tersebut akan diurutkan lebih lanjut berdasarkan urutan IdP yang diberikan oleh RP dalam panggilan get().

Mode UI FedCM

FedCM memiliki dua mode UI: Pasif dan Aktif.

Mode pasif. Mode pasif tidak memerlukan interaksi pengguna agar dialog FedCM muncul. Saat pengguna membuka situs pihak tepercaya (RP), dialog login FedCM akan muncul saat navigator.credentials.get() dipanggil jika kondisi berikut terpenuhi:

  • Pengguna login ke setidaknya salah satu IdP yang didukung. Jika status pengguna adalah logout untuk semua IdP yang tersedia, perintah login FedCM tidak ditampilkan secara otomatis.
  • Setelan jeda FedCM tidak ditetapkan di browser pengguna.
  • Pengguna tidak menonaktifkan FedCM di setelan browsernya. Pelajari lebih lanjut cara pengguna dapat menonaktifkan FedCM.
Pengguna melakukan autentikasi secara berurutan dengan IdP yang berbeda dalam mode pasif: login dan logout dengan satu IdP, lalu melakukan autentikasi dengan IdP berikutnya.

Mode aktif. Dalam mode aktif, aktivasi pengguna sementara (seperti klik tombol Login dengan…) diperlukan untuk memicu perintah FedCM.

Pengguna login ke RP menggunakan FedCM dalam mode aktif.

Pengguna dapat menyelesaikan login dengan mengetuk Lanjutkan sebagai pengguna. Jika berhasil, browser akan menyimpan fakta bahwa pengguna telah membuat akun gabungan di RP dengan 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.

Kepatuhan terhadap hukum ePrivacy

Penggunaan FedCM, baik sebagai IdP maupun RP, melibatkan penyimpanan informasi di peralatan terminal pengguna atau akses ke informasi yang sudah disimpan di dalamnya, dan oleh karena itu merupakan aktivitas yang tunduk pada hukum ePrivacy di Wilayah Ekonomi Eropa (EEA) dan Inggris Raya yang umumnya memerlukan izin pengguna. Anda bertanggung jawab untuk menentukan apakah penggunaan FedCM oleh Anda sangat diperlukan untuk menyediakan layanan online yang diminta secara eksplisit oleh pengguna, dan oleh karena itu dikecualikan dari persyaratan izin.

Vision

Kami secara aktif mengembangkan fitur baru untuk mengatasi keterbatasan saat ini dan menawarkan pengalaman pengguna yang lebih baik.

  • Kami sedang mempelajari formulasi UX yang lebih tenang untuk memastikan proses autentikasi yang lancar, intuitif, dan tidak terlalu mengganggu bagi pengguna.
  • Kami berkomitmen untuk meningkatkan privasi pengguna. Kami berencana untuk beralih ke model FedCM NextGen yang berorientasi pada delegasi yang memitigasi Masalah Pelacakan IdP. Dengan NextGen, pengguna dapat login di RP tanpa IdP mengikuti pengguna.
  • FedCM bertujuan untuk menyajikan pilihan IdP yang lebih luas kepada pengguna, berdasarkan pilihan RP. Untuk mencapai hal ini, kami sedang mengerjakan Multi-IdP dan IdP Registration API.
  • Kami aktif berupaya mengintegrasikan FedCM dengan metode autentikasi lain seperti Kunci Sandi dengan cara tambahan seperti Isi Otomatis untuk menghadirkan pengalaman autentikasi yang terpadu.

Lihat roadmap kami untuk mengetahui detail selengkapnya.