Update FedCM di Chrome 143

Dipublikasikan: 12 Januari 2026

Chrome 143 memperkenalkan update pada Federated Credential Management (FedCM) API untuk meningkatkan privasi, pengalaman developer, dan interoperabilitas browser. Perubahan ini didasarkan pada masukan dari penyedia identitas (IdP), pihak tepercaya (RP), dan komunitas web.

Perubahan utamanya adalah:

Mendukung respons JSON terstruktur dari endpoint pernyataan ID

Sebelumnya, endpoint pernyataan ID FedCM memerlukan properti token dalam responsnya berupa string. Hal ini memaksa developer untuk melakukan serialisasi data secara manual ke dalam string JSON di server dan mengurainya di klien.

Mulai Chrome 143, endpoint pernyataan ID mendukung objek JSON terstruktur sebagai nilai untuk properti token, misalnya:

{
  "token": {
    "access_token": "a1b2c3d4e5f6...",
    "user_info": {
      "email": "jane.doe@company.example",
      "given_name": "Jane",
      "family_name": "Doe"
    }
  }
}

Perubahan ini menghilangkan kebutuhan untuk serialisasi dan penguraian JSON manual, serta memungkinkan IdP menampilkan informasi tambahan.

Coba fitur ini dengan demo FedCM atau lihat panduan Menerapkan FedCM di sisi Penyedia Identitas untuk mengetahui informasi terbaru tentang struktur respons endpoint pernyataan ID yang diperbarui.

Memvalidasi metadata klien

Untuk melindungi privasi pengguna dengan lebih baik, FedCM memperkuat validasi untuk endpoint IdP. Perubahan ini mencegah IdP mencocokkan RP dengan ID unik yang diteruskan sebagai parameter jalur.

Jika konfigurasi FedCM Anda menggunakan endpoint client_metadata, Anda harus menyertakan accounts_endpoint dan login_url dalam file .well-known/web-identity. Mulai Chrome 145, browser akan menerapkan parameter accounts_endpoint di file terkenal.

{
  "accounts_endpoint": "/example-accounts",
  "login_url": "/example-login"
}

Untuk mengetahui detail selengkapnya, lihat panduan penerapan FedCM.

Pembaruan konsistensi dan penanganan error API

Chrome 143 memperkenalkan dua perubahan untuk meningkatkan kejelasan dan konsistensi FedCM API di seluruh browser, yang selaras dengan masukan ekosistem web.

Memindahkan parameter nonce

Mulai versi 145, Chrome menghentikan dukungan untuk parameter nonce tingkat teratas. Anda harus meneruskan parameter nonce dalam objek params dalam panggilan navigator.credentials.get():

const credential = await navigator.credentials.get({
  identity: {
    providers: [{
      // Don't pass nonce as a top-level parameter here
      configURL: "/fedcm.json",
      clientId: "123",
      params: {
     // Place nonce within the params object    
        nonce: "a-random-nonce"
      }
    }]
  }
});

Pastikan logika sisi server Anda mengharapkan nonce dalam objek params di endpoint pernyataan ID.

Mengganti nama IdentityCredentialError.code menjadi IdentityCredentialError.error

Untuk mencegah konflik penamaan dengan properti DOMException.code bawaan, IdentityCredentialError.code telah diganti namanya menjadi IdentityCredentialError.error. Perubahan ini akan diterapkan mulai Chrome 145.

try {
  // FedCM API call
} catch (e) {
   // Renamed IdentityCredentialError.code to IdentityCredentialError.error:    
   console.log(e.error);
}

Untuk memastikan kompatibilitas mundur selama periode transisi (Chrome 143 dan 144), periksa properti code dan error dalam logika penanganan error Anda. Hal ini memastikan solusi Anda berfungsi di browser lama saat pengguna mengupdate ke Chrome versi yang lebih baru:

 // In older browsers, the property might still be named 'code'
 // during the transition period
  const errorCode = e.error ?? e.code;
  if (errorCode) {
    // Handle specific error types
  } else {
    console.error("An unknown error occurred", e);
  }

Pelajari lebih lanjut di bagian Mengembalikan respons error pada dokumentasi FedCM.

Beri masukan

Kami menghargai masukan Anda seiring upaya kami untuk terus mengembangkan dan meningkatkan kualitas FedCM. Jika Anda memiliki masukan atau mengalami masalah:

Pelajari lebih lanjut