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 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, Beberapa configURL, dan Label Akun Kustom.

Uji coba origin: Multi IdP API

Fitur ini memungkinkan pengguna memilih akun dari sekumpulan 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 API multi-IdP.

IdP diprioritaskan berdasarkan akun pengguna yang sudah ada dan stempel waktu yang terkait.

  • Jika sebelumnya pengguna telah login ke RP dengan IdP tertentu (yaitu, mereka memiliki "akun yang kembali"), IdP tersebut akan dicantumkan terlebih dahulu.
  • Dalam akun yang kembali, IdP diurutkan lebih lanjut berdasarkan stempel waktu penggunaan terakhirnya, 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 tersebut tercantum di bawah akun yang memiliki stempel waktu.
  • Jika pengguna tidak memiliki akun yang kembali dengan IdP apa pun, pesanan yang diberikan RP akan dipatuhi.

FedCM mengizinkan autentikasi ulang otomatis jika developer memintanya, dan jika ada satu akun yang kembali. Dalam kasus Multi IdP, jika ada akun yang kembali untuk beberapa IdP, pengguna tidak akan diautentikasi ulang secara otomatis. Memiliki akun yang kembali merupakan persyaratan yang ketat 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 berakhir, tetapi status login belum diperbarui oleh browser), UI yang tidak cocok akan ditampilkan untuk IdP, yang menyarankan pengguna untuk login dengan IdP yang tidak cocok.

Saat status login pengguna login, tetapi sesi telah berakhir, UI yang tidak cocok akan ditampilkan.

Untuk 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 demo RP, atau sebagai developer yang menggunakan Chrome 128 atau yang lebih baru.

Cobalah 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 JavaScript SDK 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 diautentikasi pengguna. RP dapat menentukan cara menangani token yang dihasilkan karena berbeda bergantung pada IdP.

Berpartisipasi dalam uji coba origin

Uji coba origin memungkinkan Anda mencoba fitur baru dan memberikan masukan terkait kegunaan, kepraktisan, dan efektivitasnya. Untuk mengetahui informasi selengkapnya, lihat Memulai uji coba origin.

Anda dapat mencoba fitur Multi IdP dengan mendaftar ke uji coba origin mulai 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:

  1. Buka halaman pendaftaran uji coba origin Multi IdP API.
  2. Klik tombol Register, lalu isi formulir untuk meminta token.
  3. Untuk mendaftar ke uji coba origin pihak pertama, masukkan origin RP di bagian "Web Origin" kolom tersebut. Untuk uji coba origin pihak ketiga, masukkan asal JavaScript SDK IdP, lalu periksa "Pencocokan pihak ketiga" .
  4. Klik Kirim.
  5. 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 menyediakan token secara terprogram.

API Mode Tombol 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 telah logout dari IdP saat 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 di 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 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 Khusus Chrome (CCT).

Pengguna login melalui mode tombol di perangkat seluler.

Jika pengguna mengautentikasi ulang dengan akun yang kembali, UI pengungkapan tidak akan ditampilkan.

Pengguna login dengan akun yang kembali. UI pengungkapan tidak 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 untuk Android mulai Chrome 128.

Paket API lanjutan untuk Chrome di Android

Mulai Chrome versi 128, paket Lanjutan 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. Field API memungkinkan RP meminta atribut akun tertentu untuk UI pengungkapan dalam 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 di 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 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.