Update Federated Credential Management API

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

Untuk siapa pembaruan ini ditujukan?

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 penggunaan Anda kasus – misalnya yang telah Anda amati atau berpartisipasi dalam diskusi tentang repositori CG FedID dan ingin memahami perubahan yang dilakukan pada API.
  • Anda adalah vendor browser dan Anda ingin mengejar ketinggalan dalam penerapannya status API.

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

Log perubahan

Untuk terus mendapatkan info terbaru tentang perubahan FedCM API, lihat blog atau newsletter.

Chrome 125 (April 2024)

Chrome 123 (Februari 2024)

  • Menambahkan dukungan untuk Domain Hint API. Petunjuk Domain API memungkinkan RP tentukan properti domainHint pada panggilan API FedCM untuk hanya menampilkan kecocokan akun untuk pengguna.

Chrome 122 (Januari 2024)

Chrome 121 (Desember 2023)

  • Kondisi kelonggaran untuk memicu autentikasi ulang otomatis FedCM:
    • Fitur autentikasi ulang otomatis di FedCM hanya dipicu saat pengguna kembali. Ini berarti pengguna harus masuk ke RP menggunakan FedCM sekali di setiap {i>instance<i} browser, sebelum autentikasi ulang otomatis dapat dipicu. Kondisi ini awalnya diperkenalkan untuk mengurangi risiko pelacak yang berpura-pura menjadi identitas penyedia (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 di Konteks RP. FedCM hanya menyediakan subset dari kemampuan yang dimungkinkan melalui cookie pihak ketiga, jadi jika pelacak sudah memiliki akses ke cookie pada konteks RP, akses ke FedCM tidak memberikan privasi tambahan risiko.
      Karena ada penggunaan cookie pihak ketiga yang sah dan membuat akan meningkatkan UX, perilaku ini akan berubah dari Chrome 121. Kami telah memutuskan untuk melonggarkan pembatasan kondisi untuk memperlakukan pengguna sebagai kembali: jika cookie pihak ketiga tersedia untuk IdP di RP konteks, Chrome akan memercayai klaim IdP tentang status akun pengguna 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). Catatan bahwa ketika IdP kehilangan akses cookie pihak ketiga di masa mendatang, jika pengguna tidak pernah secara eksplisit memberikan izin pada UI FedCM (misalnya, mengklik tombol Continue as) sebelumnya, mereka akan tetap diperlakukan sebagai pengguna baru.
      Tidak ada tindakan yang perlu dilakukan developer. Perhatikan bahwa alur autentikasi ulang otomatis dapat akan lebih sering dipicu dengan perubahan ini jika IdP memiliki akses cookie pihak ketiga dan mengklaim bahwa pengguna tersebut telah membuat akun di RP sebelumnya.

Chrome 120 (November 2023)

  • Menambahkan dukungan untuk tiga fitur berikut pada Chrome 120:
    • Login Status API: Status Login API adalah tempat situs, terutama IdP, memberi tahu browser mengenai status login. Dengan API ini, browser bisa mengurangi permintaan yang tidak perlu ke IdP dan memitigasi potensi serangan waktu. Login Status API adalah persyaratan untuk FedCM. Dengan perubahan ini, flag chrome://flags/#fedcm-without-third-party-cookies tidak perlu lagi mengaktifkan FedCM saat cookie pihak ketiga diblokir.
    • Error API: Error API memberi tahu dengan menampilkan UI browser berisi informasi error yang diberikan oleh IdP.
    • Auto-Selected Flag API: Tanda yang Dipilih Otomatis API menyampaikan apakah izin eksplisit pengguna diperoleh dengan mengetuk Tombol Lanjutkan sebagai dengan IdP dan RP, setiap kali autentikasi ulang otomatis terjadi atau terjadi mediasi eksplisit. Berbagi hanya dapat dilakukan setelah pengguna izin diberikan untuk komunikasi IdP dan RP.

Chrome 117 (Sep 2023)

Chrome 116 (Agu 2023)

  • Menambahkan dukungan untuk tiga fitur berikut di Chrome 116:
    • Login Hint API: Tentukan akun pengguna pilihan untuk login.
    • User Info API: Mengambil 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' dalam dialog FedCM.
  • Uji Coba Origin untuk API Status Login IdP tersedia. Pelajari perubahan ini 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 meningkatkan pengalaman pengguna dan memungkinkan autentikasi ulang ke RP yang lebih sederhana setelah autentikasi 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 sekarang tersedia. Tujuan sematan harus menentukan Permissions-Policy identity-credentials-get untuk mengizinkan FedCM API di lintas origin yang disematkan iframe. Anda dapat melihat contoh iframe lintas origin.
  • Menambahkan tanda Chrome baru chrome://flags/#fedcm-without-third-party-cookies. Dengan tanda 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 yang dikenal luas" dalam dokumen. Perubahan penerapan tidak diperlukan.
  • "IdP manifes" sekarang disebut "file konfigurasi" dalam dokumen. Lain kali perubahan implementasi diperlukan.
  • id_token_endpoint dalam "file konfigurasi" diganti namanya menjadi id_assertion_endpoint.
  • Permintaan ke IdP kini mencakup Sec-Fetch-Dest: webidentity header, bukan header Sec-FedCM-CSRF: ?1.

Chrome 105 (Agustus 2022)

  • Menambahkan informasi keamanan penting ke dokumen. Identitas penyedia (IdP) harus memeriksa apakah header Referer cocok dengan asal RP yang didaftarkan sebelumnya pada endpoint token ID.
  • Manifes level teratas diganti namanya dari /.well-known/fedcm.json menjadi /.well-known/web-identity dan URL yang ditentukan dalam provider_urls harus sertakan nama file.
  • Metode login(), logout(), dan revoke() pada FederatedCredential sudah tidak tersedia lagi.
  • Federated Credential Management API sekarang menggunakan jenis baru IdentityCredential, bukan FederatedCredential. Ini dapat digunakan untuk deteksi fitur, tetapi sebenarnya merupakan perubahan yang tidak terlihat.
  • Memindahkan fungsi {i>login<i} dari kombinasi navigator.credentials.get() dan FederatedCredential.prototype.login() untuk navigator.credentials.get().
  • Endpoint pencabutan di manifes tidak lagi berlaku.
  • Gunakan kolom identity alih-alih kolom federated untuk navigator.credentials.get() panggilan.
  • url kini menjadi configURL dan harus berupa URL lengkap untuk file JSON manifes, bukan jalur untuk panggilan navigator.credentials.get().
  • nonce sekarang 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.
  • Tujuan endpoint metadata klien sekarang bersifat opsional. Di endpoint ini, URL kebijakan privasi juga bersifat opsional.
  • Menambahkan peringatan tentang penggunaan connect-src CSP dalam dokumen.

Resource