Federated Credential Management API dikirimkan di Chrome 108, tetapi diharapkan akan terus berkembang. Tidak ada perubahan yang akan menyebabkan gangguan.
Untuk siapa pembaruan ini?
Update ini ditujukan 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 di 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 informasi terbaru tentang perubahan FedCM API, lihat blog kami atau newsletter.
Chrome 131 (Oktober 2024)
- Storage Access API kini
menggunakan FedCM sebagai sinyal kepercayaan.
- Jika pengguna mengautentikasi dengan FedCM, dengan keikutsertaan RP, penyematan IdP dapat
memanggil metode
requestStorageAccess()
untuk mendapatkan akses penyimpanan secara otomatis ke cookie tingkat teratas tanpa memerlukan perintah pengguna tambahan.
- Jika pengguna mengautentikasi dengan FedCM, dengan keikutsertaan RP, penyematan IdP dapat
memanggil metode
Chrome 125 (April 2024)
- Karena spesifikasi memperbarui nama "endpoints daftar akun" menjadi "endpoint akun", dokumentasi kami juga disesuaikan.
- Uji coba origin untuk Button Mode API tersedia di Chrome desktop 125. Pelajari lebih lanjut di Pembaruan FedCM: Uji coba origin API Mode Tombol, CORS, dan SameSite.
- CORS diterapkan di endpoint pernyataan ID mulai dari Chrome 125.
- Chrome hanya akan mengirim cookie yang secara eksplisit ditandai sebagai
SameSite=None
ke endpoint pernyataan ID dan endpoint akun mulai dari Chrome 125.
Chrome 123 (Februari 2024)
- Menambahkan 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)
- Menambahkan dukungan untuk Disconnect API. Disconnect API memungkinkan RP memutuskan koneksi penggunanya dari akun IdP tanpa mengandalkan cookie pihak ketiga.
- Pemeriksaan
/.well-known/web-identity
kini dilewati jika RP dan IdP berada di situs yang sama. - Sub-resource kini dapat menetapkan status login situs yang sama.
Chrome 121 (Desember 2023)
- Kondisi yang dilonggarkan 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 sekali di 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 di
konteks RP. FedCM hanya menyediakan sebagian kemampuan yang mungkin dilakukan melalui
cookie pihak ketiga, sehingga jika pelacak sudah memiliki akses ke cookie
pihak ketiga pada konteks RP, akses ke FedCM tidak menimbulkan risiko privasi
tambahan.
Karena ada penggunaan cookie pihak ketiga yang sah dan melonggarkan kondisi akan meningkatkan UX, perilaku ini berubah dari Chrome 121. Kami telah memutuskan untuk melonggarkan pembatasan 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 daftarapproved_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). Perhatikan bahwa jika IdP kehilangan akses cookie pihak ketiga pada masa mendatang, jika pengguna belum pernah memberikan izin secara eksplisit di UI FedCM (misalnya, mengklik tombol Lanjutkan sebagai) sebelumnya, mereka akan tetap diperlakukan sebagai pengguna baru.
Anda tidak perlu melakukan tindakan apa pun. Perhatikan bahwa alur autentikasi ulang otomatis dapat dipicu lebih banyak dengan perubahan ini jika IdP memiliki akses cookie pihak ketiga dan mengklaim bahwa pengguna telah membuat akun di RP sebelumnya.
- Fitur autentikasi ulang otomatis di
FedCM hanya dipicu saat pengguna kembali. Artinya, pengguna
harus login ke RP menggunakan FedCM sekali di 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 di
konteks RP. FedCM hanya menyediakan sebagian kemampuan yang mungkin dilakukan melalui
cookie pihak ketiga, sehingga jika pelacak sudah memiliki akses ke cookie
pihak ketiga pada konteks RP, akses ke FedCM tidak menimbulkan risiko privasi
tambahan.
Chrome 120 (November 2023)
- Menambahkan dukungan untuk tiga fitur berikut di Chrome 120:
- Login Status API: Login Status
API adalah
mekanisme tempat situs, terutama IdP, memberi tahu browser status
login penggunanya. Dengan API ini, browser dapat mengurangi permintaan yang tidak perlu ke IdP dan mengurangi potensi serangan pengaturan 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 yang berisi informasi error yang diberikan oleh IdP.
- Auto-Selected Flag API: Auto-Selected Flag API membagikan apakah izin pengguna eksplisit diperoleh dengan mengetuk tombol Lanjutkan sebagai dengan IdP dan RP, setiap kali terjadi autentikasi ulang otomatis atau terjadi mediasi eksplisit. Pembagian hanya terjadi setelah izin pengguna diberikan untuk komunikasi IdP dan RP.
- Login Status API: Login Status
API adalah
mekanisme tempat situs, terutama IdP, memberi tahu browser status
login penggunanya. Dengan API ini, browser dapat mengurangi permintaan yang tidak perlu ke IdP dan mengurangi potensi serangan pengaturan waktu. Login Status API adalah
persyaratan untuk FedCM.
Dengan perubahan ini, tanda
Chrome 117 (Sep 2023)
- Uji coba origin untuk Idp Sign-In Status API tersedia di Android mulai Chrome 117. Pelajari lebih lanjut di Pembaruan FedCM: IdP Sign-In Status API, Login Hint, dan lainnya.
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: Mengambil informasi pengguna yang kembali sehingga penyedia identitas (IdP) dapat merender tombol login yang dipersonalisasi dalam iframe.
- RP Context API: Gunakan judul yang berbeda dari 'Login' di dialog FedCM.
- Origin Trial untuk IdP Sign-In Status API tersedia. Pelajari lebih lanjut di Pembaruan FedCM: IdP Sign-In Status API, Login Hint, 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 yang lebih sederhana ke RP setelah autentikasi awal. Pelajari lebih lanjut autentikasi ulang otomatis FedCM.
Chrome 110 (Februari 2023)
- Untuk endpoint pernyataan ID, IdP perlu memeriksa header
Origin
(bukan headerReferer
) untuk melihat apakah nilainya cocok dengan asal client ID. - Dukungan iframe lintas origin untuk FedCM kini tersedia. Penyemat
harus menentukan
identity-credentials-get
Permissions-Policy untuk mengizinkan FedCM API di iframe lintas origin yang disematkan. Anda dapat melihat contoh iframe lintas-asal. - Menambahkan flag 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 teratas" kini disebut "file yang dikenal" dalam dokumen. Perubahan penerapan tidak diperlukan.
- "Manifes IdP" kini disebut "file konfigurasi" dalam dokumen. Tidak diperlukan perubahan penerapan.
id_token_endpoint
di "file konfigurasi" diganti namanya menjadiid_assertion_endpoint
.- Permintaan ke IdP kini menyertakan header
Sec-Fetch-Dest: webidentity
, bukan headerSec-FedCM-CSRF: ?1
.
Chrome 105 (Agustus 2022)
- Menambahkan informasi keamanan penting ke dokumen. Penyedia
ID (IdP) perlu 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 diprovider_urls
harus menyertakan nama file. - Metode
login()
,logout()
, danrevoke()
pada instanceFederatedCredential
tidak lagi tersedia. - Federated Credential Management API kini menggunakan jenis baru
IdentityCredential
, bukanFederatedCredential
. Ini dapat digunakan untuk deteksi fitur, tetapi perubahan ini sebagian besar tidak terlihat. - Pindahkan fungsi login dari kombinasi
navigator.credentials.get()
danFederatedCredential.prototype.login()
kenavigator.credentials.get()
. - Endpoint pencabutan dalam manifes tidak lagi berlaku.
- Gunakan kolom
identity
, bukan kolomfederated
untuk panggilannavigator.credentials.get()
. url
kiniconfigURL
dan harus berupa URL lengkap untuk file JSON manifes, bukan jalur untuk panggilannavigator.credentials.get()
.nonce
kini menjadi parameter opsional untuknavigator.credentials.get()
.hint
tidak lagi tersedia sebagai opsi untuknavigator.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)
- Parameter
consent_acquired
yang dikirim ke endpoint token ID kinidisclosure_text_shown
. Nilai tidak berubah. - ikon branding di manifes IdP telah berhenti mendukung gambar SVG, tetapi tidak perlu lagi diizinkan oleh Kebijakan Keamanan Konten RP.
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 CSP
connect-src
dalam dokumen.