Update FedCM: Multi IdP API di desktop, Button Mode API, dan Paket Lanjutan untuk Chrome di uji coba origin Android

Natalia Markoborodova
Natalia Markoborodova

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.

Pengguna login dengan IdP yang berbeda menggunakan multi-IdP API.

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.

Jika status login pengguna adalah login, tetapi sesi telah berakhir, UI ketidakcocokan akan ditampilkan.

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:

  1. Buka halaman pendaftaran uji coba origin Multi IdP API. 2. Klik tombol Daftar dan isi formulir untuk meminta token.
  2. 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".
  3. Klik Kirim.
  4. 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.

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
   }]
Ikon logo IdP dan RP.
Ikon logo IdP dan RP di UI pengungkapan di perangkat seluler.

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.

Pengguna login dengan akun yang kembali. UI pengungkapan tidak 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.