Mulai Chrome 128, Multi-IdP API akan memulai uji coba origin di desktop, lalu Button Mode API dan Paket lanjutan memulai uji coba origin di Android. Dengan fitur Multi IdP, developer dapat menentukan array dari 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 yang aktif setelah panggilan API. Paket Lanjutan terdiri dari Continuation API dan Parameters API, yang mengaktifkan pengalaman seperti alur otorisasi OAuth yang melibatkan dialog izin yang disediakan IdP. Paket ini juga mencakup perubahan lain seperti Fields API, Multiple configURL
, dan Custom Account Labels.
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 pengguna yang sudah ada 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 ditampilkan, IdP diurutkan lebih lanjut 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 mungkin terjadi 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 apa pun, urutan yang diberikan RP akan dihormati.
FedCM mengizinkan autentikasi ulang otomatis jika developer memintanya, dan jika ada satu akun yang kembali. Dalam kasus Multi-IdP, jika akun yang ditampilkan ada untuk beberapa IdP, pengguna tidak akan diautentikasi ulang secara otomatis. Memiliki akun yang kembali adalah persyaratan kuat untuk autentikasi ulang otomatis. Browser hanya akan memulai autentikasi ulang otomatis jika browser telah mengenali akun secara eksplisit. Hal ini menyiratkan bahwa pengguna sebelumnya harus menggunakan FedCM dengan akun khusus 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 logout untuk semua IdP yang tersedia, perintah login FedCM tidak akan otomatis ditampilkan dalam mode widget.
Jika status login yang disimpan di browser untuk IdP telah login, tetapi tidak ada akun untuk IdP ini yang ditampilkan oleh permintaan pengambilan (misalnya, jika sesi pengguna telah 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 detail penerapan selengkapnya.
Uji coba origin: Multi IdP API
Anda dapat mencoba Multi IdP API sebagai pengguna di RP demo, atau sebagai developer yang menggunakan Chrome 128 atau yang lebih baru.
Coba sebagai pengguna
Coba sendiri sebagai pengguna. Pastikan:
- Chrome tidak dikonfigurasi untuk memblokir perintah 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 asalnya tidak terdaftar untuk uji coba origin, Anda harus mengaktifkan tombol fitur di bagian chrome://flags/#fedcm-multi-idp
.
Cobalah 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 asal
Uji coba origin memungkinkan Anda mencoba fitur baru dan memberikan masukan terkait kegunaan, kepraktisan, dan efektivitasnya. Untuk informasi selengkapnya, lihat Memulai uji coba origin.
Anda dapat mencoba fitur Multi-IdP dengan mendaftar ke uji coba origin mulai 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 menyediakan fitur Multi IdP untuk semua RP mereka menggunakan SDK JavaScript.
Langkah-langkah untuk berpartisipasi dalam uji coba origin:
- Buka halaman pendaftaran uji coba origin Multi IdP API.
- Klik tombol Register, lalu isi formulir untuk meminta token.
- Untuk mendaftar ke uji coba origin pihak pertama, masukkan origin RP di kolom "Origin Web". Untuk uji coba origin pihak ketiga, masukkan origin JavaScript SDK IdP dan centang kotak "Pencocokan pihak ketiga".
- Klik Kirim.
- Masukkan token yang diterbitkan 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
- Sebagai tag meta di
- Untuk peserta uji coba origin pihak ketiga:
- Dengan memberikan token secara terprogram.
- Untuk peserta uji coba origin pihak pertama:
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 penggunanya logout dari IdP setelah panggilan API. Alur login dimulai oleh gestur pengguna, yang lebih mencerminkan niat pengguna.
Di Chrome 128, fitur baru diperkenalkan yang memungkinkan IdP menyertakan ikon logo resmi RP langsung di respons endpoint metadata klien. Tindakan ini akan meningkatkan UI di perangkat seluler dalam mode tombol.
Serupa 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 dukungan ikon lebih lanjut, 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 mengautentikasi ulang dengan akun yang kembali, UI pengungkapan tidak akan ditampilkan.
Untuk mendaftar 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 dari Chrome 128.
Paket Continuation API untuk Chrome di Android
Mulai Chrome versi 128, paket Continuation API akan tersedia untuk Chrome di Android sebagai bagian dari uji coba origin, setelah uji coba awalnya di desktop. Paket ini terdiri dari beberapa fitur FedCM, termasuk Continuation API, Parameters API, Fields API, Beberapa configURL, dan Label Akun Kustom.
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 di dialog FedCM. Selain itu, Beberapa configURL
mendukung beberapa file konfigurasi untuk IdP, dan Label Akun Kustom memungkinkan IdP menganotasi akun sehingga RP dapat memfilternya berdasarkan label ini.
Untuk mempelajari paket Continuation API lebih lanjut, lihat postingan blog tentang paket Continuation API di desktop. Untuk mendaftar ke uji coba origin, ikuti petunjuk ini. Jika Anda telah mendaftar ke uji coba origin di desktop, fitur ini akan otomatis tersedia untuk Anda di Chrome di Android mulai dari 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 terakumulasi.