demo · v141

Identity Card Preview

FedCM's account picker can now show phone numbers, usernames, and custom disclosure text in addition to — or instead of — the traditional name and email fields. Configure your synthetic IdP below and watch the browser-chrome account card update live. The JSON panel shows the exact IdentityProviderAccountList shape your IdP endpoint would return.

IdP field configuration

Account presets

probe not yet run

Account chooser preview

Chrome — Sign in to demo.example

Choose an account to continue to demo.example

IdentityProviderAccountList JSON

the IdP accounts endpoint

// GET /fedcm/accounts.json
{
  "accounts": [{
    "id":           "user_4571",
    "name":         "Adaeze Okafor",       // traditional
    "email":        "adaeze@example.com",  // traditional
    "username":     "ada_o",               // NEW in Chrome 141
    "phone_number": "+44 7700 900123",     // NEW in Chrome 141
    "picture":      "https://idp.example/u/4571.png"
  }]
}

the RP navigator.credentials.get() call

const credential = await navigator.credentials.get({
  identity: {
    providers: [{
      configURL:    "https://idp.example/fedcm.json",
      clientId:    "rp-client-id",
      // NEW: tell Chrome which fields to request/show
      fields: ["username", "phone_number"]
    }]
  }
});
// credential.token carries the signed assertion

why this matters

Some IdPs don't use email addresses at all — think Truecaller (phone-first), Snapchat (username-first), or enterprise directories that identify users by employee ID. The original FedCM spec assumed every account had a name and email. Alternative fields removes that assumption: an IdP can now surface whatever identifier the user recognises themselves by, and the RP can request only what it needs in the consent disclosure.

see also