Aktualizacje FedCM w Chrome 143

Data publikacji: 12 stycznia 2026 r.

W Chrome 143 wprowadziliśmy aktualizacje interfejsu Federated Credential Management API (FedCM), które zwiększają prywatność, wygodę programistów i interoperacyjność przeglądarki. Te zmiany są wprowadzane na podstawie opinii dostawców tożsamości, podmiotów polegających na tożsamości i społeczności internetowej.

Najważniejsze zmiany:

Obsługa uporządkowanych odpowiedzi JSON z punktu końcowego potwierdzenia tożsamości

Wcześniej punkt końcowy potwierdzenia tożsamości FedCM wymagał, aby właściwość token w odpowiedzi była ciągiem znaków. Wymagało to od programistów ręcznego serializowania danych do ciągu JSON na serwerze i parsowania ich na kliencie.

Od Chrome 143 punkt końcowy potwierdzenia tożsamości obsługuje jako wartość właściwości token strukturalny obiekt JSON, np.:

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

Ta zmiana eliminuje konieczność ręcznego serializowania i parsowania JSON-a oraz umożliwia dostawcom tożsamości zwracanie dodatkowych informacji.

Wypróbuj tę funkcję w demonstracji FedCM lub zapoznaj się z przewodnikiem po implementacji FedCM po stronie dostawcy tożsamości, aby uzyskać aktualne informacje o strukturze zaktualizowanej odpowiedzi punktu końcowego potwierdzenia tożsamości.

Weryfikowanie metadanych klienta

Aby lepiej chronić prywatność użytkowników, FedCM wzmacnia weryfikację punktów końcowych dostawcy tożsamości. Ta zmiana uniemożliwia dostawcy tożsamości dopasowanie dostawcy usług do unikalnego identyfikatora przekazanego jako parametr ścieżki.

Jeśli konfiguracja FedCM korzysta z punktu końcowego client_metadata, w pliku .well-known/web-identity musisz uwzględnić parametry accounts_endpointlogin_url. Od wersji Chrome 145 przeglądarka wymusza stosowanie parametru accounts_endpointdobrze znanym pliku.

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

Więcej informacji znajdziesz w przewodniku implementacji FedCM.

Aktualizacje spójności interfejsu API i obsługi błędów

W Chrome 143 wprowadziliśmy 2 zmiany, które mają na celu zwiększenie przejrzystości i spójności interfejsu FedCM API w różnych przeglądarkach, zgodnie z opiniami użytkowników.

Przenieś parametr nonce

Od wersji 145 Chrome nie obsługuje już parametru najwyższego poziomunonce. W wywołaniu navigator.credentials.get() musisz przekazać parametr nonce w obiekcie params:

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"
      }
    }]
  }
});

Upewnij się, że operacje logiczne po stronie serwera oczekują wartości nonce w obiekcie params punkcie końcowym potwierdzenia identyfikatora.

Zmień nazwę IdentityCredentialError.code na IdentityCredentialError.error

Aby zapobiec konfliktom nazw z wbudowaną właściwością DOMException.code, nazwa właściwości IdentityCredentialError.code została zmieniona na IdentityCredentialError.error. Ta zmiana zacznie obowiązywać w Chrome 145.

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

Aby zapewnić zgodność wsteczną w okresie przejściowym (Chrome 143 i 144), w logice obsługi błędów sprawdzaj właściwości codeerror. Dzięki temu rozwiązanie będzie działać w starszych przeglądarkach, dopóki użytkownicy nie zaktualizują Chrome do nowszej wersji:

 // 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);
  }

Więcej informacji znajdziesz w sekcji Zwracanie odpowiedzi na błąd w dokumentacji FedCM.

Prześlij opinię

Twoja opinia jest dla nas bardzo ważna, ponieważ stale rozwijamy i ulepszamy FedCM. Jeśli masz uwagi lub napotkasz problemy:

Więcej informacji