Mulai Chrome 128, Multi-IdP
API memulai uji coba asal di desktop, dan Button Mode
API serta Continuation
bundle
memulai uji coba asal di Android. Dengan fitur Multi-IdP, developer
dapat menentukan array beberapa penyedia Identitas yang didukung dalam satu
panggilan get(). Button Mode API menambahkan UI baru. Dengan Button Mode API, penyedia
identitas dapat menggunakan FedCM API meskipun pengguna mereka tidak memiliki sesi IdP aktif
saat panggilan API. Paket Lanjutan terdiri dari Continuation API dan
Parameters API, yang memungkinkan pengalaman seperti alur otorisasi OAuth
yang melibatkan dialog izin yang disediakan IdP. Paket ini juga mencakup perubahan lain seperti Fields API, Beberapa configURL, dan Label Akun Kustom.
Uji coba origin: Multi IdP API
Fitur ini memungkinkan pengguna memilih akun dari serangkaian IdP yang didukung, dan RP mendapatkan manfaat dari rasio login dan pendaftaran yang lebih tinggi. Jika pengguna login dengan beberapa IdP, mereka akan diminta untuk login ke RP menggunakan salah satu IdP.
IdP diprioritaskan berdasarkan akun yang sudah ada milik pengguna dan stempel waktu yang terkait.
- Jika pengguna sebelumnya telah login ke RP dengan IdP tertentu (yaitu, mereka memiliki "akun yang kembali"), IdP tersebut akan dicantumkan terlebih dahulu.
- Dalam akun yang kembali, IdP selanjutnya diurutkan berdasarkan stempel waktu penggunaan terbarunya, dengan IdP yang terakhir digunakan muncul di bagian atas daftar. Dalam beberapa kasus, Chrome mungkin tidak memiliki data stempel waktu untuk akun yang kembali. Hal ini kemungkinan karena pengguna login sebelum log stempel waktu diterapkan di FedCM. Akun ini tercantum di bawah akun yang memiliki stempel waktu.
- Jika pengguna tidak memiliki akun yang kembali dengan IdP mana pun, urutan yang diberikan RP akan dipatuhi.
FedCM memungkinkan autentikasi ulang otomatis jika developer memintanya, dan jika ada satu akun yang kembali. Dalam kasus Multi IdP, jika akun yang kembali ada untuk beberapa IdP, pengguna tidak akan diautentikasi ulang secara otomatis. Memiliki akun yang kembali adalah persyaratan penting untuk autentikasi ulang otomatis. Browser hanya akan memulai autentikasi ulang otomatis jika browser telah mengenali akun secara eksplisit. Hal ini menyiratkan bahwa pengguna harus pernah menggunakan FedCM dengan akun tertentu ini di RP ini.
Jika status login pengguna disetel ke logout untuk IdP, memanggil FedCM tidak akan mengambil akun untuk IdP tersebut. Demikian pula, jika status pengguna adalah logout untuk semua IdP yang tersedia, prompt login FedCM tidak ditampilkan secara otomatis dalam mode widget.
Jika status login yang disimpan di browser untuk IdP adalah login, tetapi tidak ada akun untuk IdP ini yang ditampilkan oleh permintaan pengambilan (misalnya, jika sesi pengguna berakhir, tetapi status login belum diperbarui oleh browser), UI ketidakcocokan akan ditampilkan untuk IdP, yang menyarankan pengguna untuk login dengan IdP yang tidak cocok.
Untuk mengetahui informasi selengkapnya tentang status login, lihat dokumentasi. Lihat panduan developer untuk mengetahui detail penerapan selengkapnya.
Uji coba origin: Multi IdP API
Anda dapat mencoba Multi IdP API sebagai pengguna di RP demo, atau sebagai developer menggunakan Chrome 128 atau yang lebih baru.
Mencobanya sebagai pengguna
Cobalah sendiri sebagai pengguna. Pastikan bahwa:
- Chrome tidak dikonfigurasi untuk memblokir dialog login pihak ketiga di halaman:
chrome://settings/content/federatedIdentityApi. - Anda login ke beberapa IdP demo. Ikuti petunjuk di halaman demo.
Perhatikan bahwa untuk mencoba Multi-IdP di situs yang originnya tidak terdaftar untuk uji coba origin, Anda harus mengaktifkan tanda fitur di bagian
chrome://flags/#fedcm-multi-idp.
Mencobanya sebagai developer
Jika penyedia login memiliki SDK Javascript yang disematkan di RP (direkomendasikan), panggilan navigator.credentials.get() untuk mengaktifkan beberapa IdP dapat diterapkan oleh penyedia, dan developer RP tidak perlu mengubah kode mereka. Jika tidak,
RP harus memanggil FedCM API sendiri.
Untuk menguji Multi IdP di RP, tentukan array penyedia yang didukung sebagai berikut:
try {
const cred = await navigator.credentials.get({
identity: {
providers: [
{
configUrl: "https://idp1.example/foo.json", // first IdP
clientId: "123",
},
{
configUrl: "https://idp2.example/bar.json", // second IdP
clientId: "456",
}
]
}
});
const token = cred.token;
const currentConfigFileUrl = cred.configURL;
if (cred.configURL === 'https://idp1.example/foo.json') {
// handle the token for idp1.example
} else if (cred.configURL === 'https://idp2.example/bar.json') {
// handle the token for idp2.example
}
} catch (error) {
console.error("Error during credential retrieval:", error);
}
Atribut configURL dalam objek yang dihasilkan menyimpan URL file konfigurasi untuk IdP yang digunakan pengguna untuk melakukan autentikasi. RP dapat
menentukan cara menangani token yang dihasilkan karena berbeda-beda, bergantung pada
IdP.
Berpartisipasi dalam uji coba origin
Uji coba origin memungkinkan Anda mencoba fitur baru dan memberikan masukan tentang kegunaan, kepraktisan, dan efektivitasnya. Untuk mengetahui informasi selengkapnya, lihat Mulai menggunakan uji coba origin.
Anda dapat mencoba fitur Multi IdP dengan mendaftar ke uji coba origin yang dimulai dari Chrome 128.
Untuk mencoba Multi IdP, RP dapat mendaftarkan originnya dan menjalankan uji coba origin pihak pertama. IdP juga dapat mendaftar ke uji coba origin pihak ketiga dan memiliki fitur Multi IdP yang tersedia untuk semua RP mereka menggunakan SDK Javascript.
Langkah-langkah untuk berpartisipasi dalam uji coba origin:
- Buka halaman pendaftaran uji coba origin Multi IdP API. 2. Klik tombol Daftar dan isi formulir untuk meminta token.
- Untuk mendaftar uji coba origin pihak pertama, masukkan origin RP di kolom "Web Origin". Untuk uji coba asal pihak ketiga, masukkan asal SDK JavaScript IdP dan centang kotak "Pencocokan pihak ketiga".
- Klik Kirim.
- Berikan token yang dikeluarkan di halaman RP:
- Untuk peserta uji coba origin pihak pertama:
- Sebagai tag meta di
<head>:<meta http-equiv="origin-trial" content="TOKEN_GOES_HERE">- Sebagai header HTTP:Origin-Trial: TOKEN_GOES_HERE - Untuk peserta uji coba origin pihak ketiga: - Dengan memberikan token secara terprogram.
- Untuk peserta uji coba origin pihak pertama:
- Sebagai tag meta di
Button Mode API untuk Chrome di Android
Mulai Chrome versi 128, uji coba origin Button Mode API akan dimulai di Chrome di Android, setelah uji coba awal di desktop. Dengan Button Mode API, penyedia identitas dapat menggunakan FedCM API meskipun pengguna mereka logout dari IdP saat panggilan API. Alur login dimulai oleh gestur pengguna, yang lebih mencerminkan niat pengguna.
Di Chrome 128, diperkenalkan fitur baru yang memungkinkan IdP menyertakan ikon logo resmi RP langsung dalam respons endpoint metadata klien. Hal ini meningkatkan kualitas UI di perangkat seluler dalam mode tombol.
Mirip dengan branding IdP dalam file konfigurasi, ikon RP dapat dikonfigurasi
di sisi IdP dan ditampilkan dalam respons client_metadata_endpoint sebagai
berikut:
"privacy_policy_url": "https://rp.example/privacy_policy.html",
"terms_of_service_url": "https://rp.example/terms_of_service.html",
"icons": [{
"url": "https://idp.example/rp-icon.ico",
"size": 40
}]
Untuk mempelajari lebih lanjut dukungan ikon, lihat dokumentasi developer.
Jika pengguna belum login, FedCM akan meminta pengguna untuk login ke IdP menggunakan login_url yang disediakan oleh IdP melalui Tab Kustom Chrome (CCT).
Jika pengguna melakukan autentikasi ulang dengan akun yang kembali, UI pengungkapan tidak akan ditampilkan.
Untuk mendaftar ke uji coba origin, lihat petunjuk untuk Button Mode API di desktop. Jika Anda telah mendaftar ke uji coba origin di desktop, fitur ini akan otomatis tersedia untuk Anda di Chrome di Android mulai Chrome 128.
Paket Continuation API untuk Chrome di Android
Mulai Chrome versi 128, paket Continuation API bundle akan tersedia untuk Chrome di Android sebagai bagian dari uji coba origin, setelah uji coba awalnya di desktop. Bundle ini terdiri dari beberapa fitur FedCM, termasuk Continuation API, Parameters API, Fields API, Multiple configURLs, dan Custom Account Labels.
Continuation API memungkinkan alur login multi-langkah. Parameters API memungkinkan
penerusan parameter tambahan ke IdP. Fields API memungkinkan RP meminta
atribut akun tertentu untuk UI pengungkapan dalam dialog FedCM. Selain itu,
Multiple configURL mendukung beberapa file konfigurasi untuk IdP, dan Label Akun Kustom memungkinkan IdP memberi anotasi pada akun sehingga RP dapat memfilternya berdasarkan label ini.
Untuk mempelajari lebih lanjut paket Continuation API, lihat postingan blog tentang paket Continuation API di desktop. Untuk mendaftar ke uji coba origin, ikuti petunjuk ini. Jika Anda telah mendaftar uji coba origin di desktop, fitur akan otomatis tersedia untuk Anda di Chrome di Android mulai Chrome 128.
Berinteraksi dan memberikan masukan
Jika Anda memiliki masukan atau mengalami masalah, Anda dapat mengajukan masalah. Kami akan terus memperbarui panduan developer FedCM kanonis, beserta halaman log update yang dikumpulkan.