Update Federated Credential Management API

Federated Credential Management API dikirim di Chrome 108, tetapi diharapkan akan terus berkembang. Tidak ada rencana perubahan yang dapat menyebabkan gangguan.

Untuk siapa pembaruan ini?

Pembaruan ini untuk Anda jika:

  • Anda adalah IdP yang menggunakan Federated Credential Management API.
  • Anda adalah IdP atau RP dan tertarik untuk memperluas API agar sesuai dengan kasus penggunaan Anda – misalnya, Anda telah mengamati atau berpartisipasi dalam diskusi tentang repositori FedID CG dan ingin memahami perubahan yang dilakukan pada API.
  • Anda adalah vendor browser dan ingin mengetahui status implementasi API.

Jika Anda baru menggunakan API ini atau belum bereksperimen dengannya, baca pengantar Federated Credential Management API.

Log perubahan

Untuk terus mendapatkan info terbaru tentang perubahan FedCM API, berlangganan newsletter kami.

Chrome 125 (April 2024)

Chrome 123 (Februari 2024)

  • Penambahan dukungan untuk Domain Hint API. Domain Hint API memungkinkan RP menentukan properti domainHint pada panggilan FedCM API untuk hanya menampilkan akun yang cocok bagi pengguna.

Chrome 122 (Januari 2024)

Chrome 121 (Desember 2023)

  • Kondisi tidak ketat untuk memicu autentikasi ulang otomatis FedCM:
    • Fitur autentikasi ulang otomatis di FedCM hanya dipicu saat pengguna kembali. Artinya, pengguna harus login ke RP menggunakan FedCM satu kali pada setiap instance browser, sebelum autentikasi ulang otomatis dapat dipicu. Kondisi ini awalnya diperkenalkan untuk mengurangi risiko pelacak yang berpura-pura menjadi penyedia identitas (IdP) dan mengelabui browser agar mengautentikasi ulang pengguna secara otomatis tanpa sepengetahuan atau persetujuan mereka. Namun, desain ini tidak dapat menjamin manfaat privasi jika pelacak memiliki akses ke cookie pihak ketiga pada konteks RP. FedCM hanya memberikan sebagian dari kemampuan yang mungkin dilakukan melalui cookie pihak ketiga, jadi jika pelacak sudah memiliki akses ke cookie pihak ketiga dalam konteks RP, akses ke FedCM tidak akan menimbulkan risiko privasi tambahan.
      Karena ada penggunaan cookie pihak ketiga yang sah dan melonggarkan kondisi tersebut akan meningkatkan UX, perilaku ini berubah dari Chrome 121. Kami telah memutuskan untuk melonggarkan batasan kondisi untuk memperlakukan pengguna sebagai pengguna yang kembali: jika cookie pihak ketiga tersedia untuk IdP dalam konteks RP, Chrome akan memercayai klaim IdP tentang status akun pengguna yang ditentukan melalui daftar approved_clients dan memicu autentikasi ulang otomatis jika berlaku. Cookie pihak ketiga dapat tersedia melalui: setelan pengguna, kebijakan perusahaan, heuristik (Safari, Firefox, Chrome) dan API platform web lainnya (seperti Storage Access API). Perlu diketahui bahwa saat IdP kehilangan akses cookie pihak ketiga di masa mendatang, jika pengguna belum pernah memberikan izin secara eksplisit pada UI FedCM (misalnya, mengklik tombol Continue as) sebelumnya, pengguna tersebut akan tetap diperlakukan sebagai pengguna baru.
      Developer tidak perlu melakukan tindakan apa pun. Perlu diperhatikan bahwa alur autentikasi ulang otomatis dapat terpicu lebih banyak dengan perubahan ini jika IdP memiliki akses cookie pihak ketiga dan mengklaim bahwa pengguna telah membuat akun di RP sebelumnya.

Chrome 120 (November 2023)

  • Menambahkan dukungan untuk tiga fitur berikut di Chrome 120:
    • Login Status API: Login Status API adalah mekanisme yang digunakan situs, terutama IdP, untuk memberi tahu browser tentang status login penggunanya. Dengan API ini, browser dapat mengurangi permintaan yang tidak perlu ke IdP dan mengurangi potensi serangan waktu. Login Status API adalah persyaratan untuk FedCM. Dengan perubahan ini, tanda chrome://flags/#fedcm-without-third-party-cookies tidak lagi diperlukan untuk mengaktifkan FedCM saat cookie pihak ketiga diblokir.
    • Error API: Error API memberi tahu pengguna dengan menampilkan UI browser berisi informasi error yang diberikan oleh IdP.
    • Auto-Selected Flag API: Auto-Selected Flag API menunjukkan apakah izin pengguna eksplisit telah diperoleh dengan mengetuk tombol Continue as dengan IdP dan RP, setiap kali autentikasi ulang otomatis terjadi atau mediasi eksplisit terjadi. Berbagi hanya terjadi setelah izin pengguna diberikan untuk komunikasi IdP dan RP.

Chrome 117 (Sep 2023)

Chrome 116 (Agustus 2023)

  • Menambahkan dukungan untuk tiga fitur berikut di Chrome 116:
    • Login Hint API: Menentukan akun pengguna pilihan untuk login.
    • User Info API: Ambil informasi pengguna yang kembali sehingga penyedia identitas (IdP) dapat merender tombol login yang dipersonalisasi dalam iframe.
    • RP Context API: Gunakan judul yang berbeda dengan 'Login' di dialog FedCM.
  • Origin Trial untuk Sign-In Status API IdP tersedia. Pelajari lebih lanjut di Update FedCM: API Status Login IdP, Petunjuk Login, dan lainnya.

Chrome 115 (Juni 2023)

  • Menambahkan dukungan untuk autentikasi ulang otomatis yang memungkinkan pengguna melakukan autentikasi ulang secara otomatis saat mereka kembali setelah autentikasi awal menggunakan FedCM. Hal ini akan meningkatkan pengalaman pengguna dan memungkinkan autentikasi ulang ke RP yang lebih efisien setelah izin awal. Pelajari autentikasi ulang otomatis FedCM lebih lanjut.

Chrome 110 (Februari 2023)

  • Untuk endpoint pernyataan ID, IdP harus memeriksa header Origin (bukan header Referer) untuk melihat apakah nilainya cocok dengan asal client ID.
  • Dukungan iframe lintas origin untuk FedCM kini tersedia. Embedding harus menentukan Kebijakan Izin identity-credentials-get untuk mengizinkan FedCM API di iframe lintas origin tersemat. Anda dapat melihat contoh iframe lintas origin.
  • Menambahkan flag Chrome baru chrome://flags/#fedcm-without-third-party-cookies. Dengan flag ini, Anda dapat menguji fungsi FedCM di Chrome dengan memblokir cookie pihak ketiga. Pelajari lebih lanjut dari dokumentasi FedCM.

Chrome 108 (Oktober 2022)

  • "manifes tingkat atas" sekarang disebut "file dengan baik" dalam dokumen. Perubahan penerapan tidak diperlukan.
  • "Manifes IdP" sekarang disebut "file konfigurasi" dalam dokumen. Penerapan tidak diperlukan.
  • id_token_endpoint dalam "file konfigurasi" diganti namanya menjadi id_assertion_endpoint.
  • Permintaan ke IdP kini menyertakan header Sec-Fetch-Dest: webidentity, bukan header Sec-FedCM-CSRF: ?1.

Chrome 105 (Agustus 2022)

  • Penambahan informasi keamanan penting ke dokumen. Penyedia identitas (IdP) harus memeriksa apakah header Referer cocok dengan origin yang didaftarkan RP sebelumnya di endpoint token ID.
  • Manifes tingkat atas diganti namanya dari /.well-known/fedcm.json menjadi /.well-known/web-identity dan URL yang ditentukan dalam provider_urls harus menyertakan nama file.
  • Metode login(), logout(), dan revoke() pada instance FederatedCredential tidak lagi tersedia.
  • Federated Credential Management API kini menggunakan IdentityCredential jenis baru, bukan FederatedCredential. Metode ini dapat digunakan untuk deteksi fitur, tetapi sebaliknya, merupakan perubahan yang sebagian besar tidak terlihat.
  • Memindahkan fungsi login dari kombinasi navigator.credentials.get() dan FederatedCredential.prototype.login() ke navigator.credentials.get().
  • Endpoint pencabutan dalam manifes tidak lagi berlaku.
  • Gunakan kolom identity, bukan kolom federated untuk panggilan navigator.credentials.get().
  • url sekarang menjadi configURL dan harus berupa URL lengkap untuk file JSON manifes, bukan jalur untuk panggilan navigator.credentials.get().
  • nonce kini merupakan parameter opsional untuk navigator.credentials.get().
  • hint tidak lagi tersedia sebagai opsi untuk navigator.credentials.get().
const credential = await navigator.credentials.get({
  identity: {
    providers: [{
      configURL: 'https://idp.example/anything.json',
      clientId: '********',
      nonce: '******'
    }]
  }
});
const { token } = credential;

Chrome 104 (Juni 2022)

Chrome 103 (Mei 2022)

  • Mendukung lingkungan desktop.
  • Mendukung setelan per-RP di desktop.
  • Endpoint metadata klien kini bersifat opsional. Di endpoint ini, URL kebijakan privasi juga bersifat opsional.
  • Menambahkan peringatan tentang penggunaan connect-src CSP dalam dokumen.

Referensi