Aktualizacje interfejsu Federated Credential Management API

Interfejs Federated Credential Management API jest dostępny w Chrome 108, ale planujemy go rozwijać. Brak zaplanowanych zmian powodujących niezgodność.

Dla kogo są te aktualizacje?

Te aktualizacje są dla Ciebie, jeśli:

  • Jesteś dostawcą tożsamości i korzystasz z interfejsu Federated Credential Management API.
  • Jesteś dostawcą tożsamości lub dostawcą RP i chcesz rozszerzyć interfejs API zgodnie ze swoim przypadkiem użycia – np. obserwujesz lub uczestniczysz w dyskusjach w repozytorium FedID CG i chcesz zrozumieć zmiany wprowadzone w interfejsie API.
  • Jesteś dostawcą przeglądarek i chcesz sprawdzić stan implementacji interfejsu API.

Jeśli dopiero zaczynasz korzystać z tego interfejsu API lub nie masz jeszcze z nim doświadczenia, przeczytaj wprowadzenie do interfejsu Federated Credential Management API.

Historia zmian

Aby być na bieżąco ze zmianami dotyczącymi interfejsu FedCM API, zaglądaj na naszego bloga lub newsletter.

Chrome 125 (kwiecień 2024 r.)

Chrome 123 (luty 2024 r.)

  • Dodaliśmy obsługę interfejsu Domains Hint API. Interfejs Domain Hint API umożliwia wskazówkom dotyczącym domen określanie właściwości domainHint w wywołaniu interfejsu FedCM API w celu wyświetlania tylko pasujących kont użytkownika.

Chrome 122 (styczeń 2024 r.)

  • Dodaliśmy obsługę Rozłącz API. Interfejs API odłączania umożliwia usługom regionalnym odłączenie użytkowników od konta dostawcy tożsamości bez użycia plików cookie innych firm.
  • Sprawdzanie /.well-known/web-identity jest teraz pomijane, gdy dostawca tożsamości i dostawca tożsamości znajdują się w tej samej witrynie.
  • Zasoby podrzędne mogą teraz ustawiać stan logowania w tej samej witrynie.

Chrome 121 (grudzień 2023 r.)

  • Warunek automatycznego ponownego uwierzytelniania w FedCM:
    • Funkcja automatycznego ponownego uwierzytelniania w FedCM jest uruchamiana tylko wtedy, gdy użytkownik wraca. Oznacza to, że przed aktywowaniem automatycznego ponownego uwierzytelniania użytkownik musi zalogować się w RPA przy użyciu FedCM raz w każdej instancji przeglądarki. Ten warunek został początkowo wprowadzony, aby zmniejszyć ryzyko, że lokalizatory podszywają się pod dostawcę tożsamości i nakłaniają przeglądarkę do automatycznego ponownego uwierzytelnienia użytkownika bez jego wiedzy i zgody. Taki projekt nie może jednak zagwarantować korzyści związanych z prywatnością, jeśli tag śledzenia ma dostęp do plików cookie innych firm w kontekście RP. FedCM udostępnia tylko część możliwości możliwych dzięki plikom cookie innych firm, więc jeśli lokalizator ma już dostęp do takich plików w kontekście RP, dostęp do FedCM nie wiąże się z dodatkowym zagrożeniem prywatności.
      W związku z tym, że istnieją uzasadnione przypadki użycia plików cookie innych firm i łagodzenie tego warunku poprawiłoby wrażenia użytkownika, ten sposób działania ma inne znaczenie w stosunku do Chrome 121. Postanowiliśmy złagodzić ograniczenie warunku, aby traktować użytkownika jako powracającego: jeśli w kontekście dostawcy tożsamości są dostępne pliki cookie innych firm, Chrome ufa twierdzeniu dostawcy tożsamości co do stanu konta użytkownika określonego na liście approved_clients i w razie potrzeby aktywuje automatyczne ponowne uwierzytelnianie. Pliki cookie innych firm mogą być dostępne w ramach ustawień użytkownika, zasad firmowych, heurystyki (Safari, Firefox, Chrome) i interfejsów API innych platform internetowych (takich jak Storage Access API). Pamiętaj, że jeśli w przyszłości dostawca tożsamości utraci dostęp do plików cookie innych firm, a użytkownik nigdy wcześniej nie przyznał im uprawnień w interfejsie FedCM (na przykład nie kliknął przycisku Kontynuuj jako), nadal będzie traktowany jako nowy użytkownik.
      Deweloper nie musi nic robić. Pamiętaj, że po tej zmianie proces automatycznego ponownego uwierzytelniania może być wywoływany bardziej, jeśli dostawca tożsamości ma dostęp do plików cookie innych firm, a użytkownik twierdzi, że w przeszłości utworzył konto w RPA.

Chrome 120 (listopad 2023 r.)

  • W Chrome 120 dodaliśmy obsługę 3 tych funkcji:
    • Interfejs API stanu logowania: interfejs API stanu logowania to mechanizm, dzięki któremu witryna, a zwłaszcza dostawca tożsamości, informuje przeglądarkę o stanie logowania użytkownika. Dzięki temu interfejsowi przeglądarka może ograniczyć liczbę niepotrzebnych żądań wysyłanych do dostawcy tożsamości i zminimalizować ryzyko ataków czasowych. Interfejs Login Status API jest wymagany w FedCM. Dzięki tej zmianie flaga chrome://flags/#fedcm-without-third-party-cookies nie jest już wymagana do włączenia FedCM w przypadku blokowania plików cookie innych firm.
    • Error API: interfejs Error API powiadamia użytkownika, wyświetlając interfejs przeglądarki z informacjami o błędach podanymi przez dostawcę tożsamości.
    • Auto-Selected Flag API: interfejs Auto-Selected Flag API informuje o tym, czy jawne uprawnienie użytkownika zostało uzyskane przez kliknięcie przycisku Kontynuuj jako u dostawcy tożsamości i RPA w przypadku automatycznego ponownego uwierzytelnienia lub jawnego zapośredniczenia. Udostępnianie następuje dopiero po przyznaniu użytkownikowi uprawnień do komunikacji z dostawcą tożsamości i RP.

Chrome 117 (wrzesień 2023 r.)

Chrome 116 (sierpień 2023 r.)

  • W Chrome 116 dodaliśmy obsługę 3 tych funkcji:
    • Login Hint API: określ preferowane konto użytkownika, na które chcesz się zalogować.
    • Interfejs API informacji o użytkowniku: pobiera informacje o powracającym użytkowniku, aby dostawca tożsamości mógł wygenerować spersonalizowany przycisk logowania w elemencie iframe.
    • RP Context API: użyj tytułu innego niż „Zaloguj się” w oknie FedCM.
  • Dostępna jest wersja próbna origin interfejsu API stanu logowania dostawcy tożsamości. Więcej informacji znajdziesz w artykule Aktualizacje FedCM: interfejs API stanu logowania dostawcy tożsamości, Wskazówka dotycząca logowania i inne.

Chrome 115 (czerwiec 2023 r.)

  • Dodaliśmy obsługę automatycznego ponownego uwierzytelniania, która umożliwia użytkownikom automatyczne ponowne uwierzytelnianie po powrocie po wstępnym uwierzytelnieniu za pomocą FedCM. Zwiększa to wygodę użytkowników i umożliwia łatwiejsze ponowne uwierzytelnianie w grupie objętej ograniczeniami po uzyskaniu początkowej zgody. Dowiedz się więcej o automatycznym ponownym uwierzytelnianiu FedCM.

Chrome 110 (luty 2023 r.)

  • W przypadku punktu końcowego potwierdzenia identyfikatora dostawcy tożsamości muszą sprawdzić nagłówek Origin (a nie nagłówek Referer), aby zobaczyć, czy wartość pasuje do źródła identyfikatora klienta.
  • Obsługa elementów iframe z innych domen w FedCM jest teraz dostępna. Umieszczany element powinien określić Permissions-Policy identity-credentials-get, aby zezwolić na interfejs FedCM API w umieszczonym elemencie iframe z innej domeny. Zobacz przykład elementu iframe z innej domeny.
  • Dodano nową flagę Chrome chrome://flags/#fedcm-without-third-party-cookies. Dzięki tej flagi możesz przetestować działanie FedCM w Chrome, blokując pliki cookie innych firm. Więcej informacji znajdziesz w dokumentacji FedCM.

Chrome 108 (październik 2022 r.)

  • „Plik manifestu najwyższego poziomu” w dokumencie nazywa się teraz „dobrze znanym plikiem”. Nie musisz wprowadzać żadnych zmian w implementacji.
  • „Plik manifestu dostawcy tożsamości” w dokumencie nazywa się teraz „plik konfiguracji”. Nie są wymagane żadne zmiany w implementacji.
  • Nazwa id_token_endpoint w „pliku konfiguracyjnym” została zmieniona na id_assertion_endpoint.
  • Żądania wysyłane do dostawcy tożsamości zawierają teraz nagłówek Sec-Fetch-Dest: webidentity zamiast nagłówka Sec-FedCM-CSRF: ?1.

Chrome 105 (sierpień 2022 r.)

  • Do dokumentu dodano ważne informacje na temat bezpieczeństwa. Dostawca tożsamości musi sprawdzić, czy nagłówek Referer pasuje do punktu początkowego zarejestrowanego wcześniej w punkcie końcowym tokena tożsamości.
  • Nazwa pliku manifestu najwyższego poziomu została zmieniona z /.well-known/fedcm.json na /.well-known/web-identity, a adres URL podany w provider_urls powinien zawierać nazwę pliku.
  • Metody login(), logout() i revoke() w instancjach FederatedCredential nie są już dostępne.
  • Interfejs Federated Credential Management API używa teraz nowego typu IdentityCredential zamiast FederatedCredential. Ta metoda może być stosowana do wykrywania cech, ale poza tym jest przeważnie niewidoczna.
  • Przenieś funkcję logowania z kombinacji navigator.credentials.get() i FederatedCredential.prototype.login() do navigator.credentials.get().
  • Punkt końcowy unieważnienia w pliku manifestu już nie obowiązuje.
  • W przypadku wywołań typu navigator.credentials.get() używaj pola identity zamiast pola federated.
  • url to teraz configURL i musi być pełnym adresem URL pliku JSON manifestu, a nie ścieżką wywołania navigator.credentials.get().
  • nonce jest teraz opcjonalnym parametrem navigator.credentials.get().
  • Opcja hint nie jest już dostępna w przypadku usługi navigator.credentials.get().
const credential = await navigator.credentials.get({
  identity: {
    providers: [{
      configURL: 'https://idp.example/anything.json',
      clientId: '********',
      nonce: '******'
    }]
  }
});
const { token } = credential;

Chrome 104 (czerwiec 2022 r.)

Chrome 103 (maj 2022 r.)

  • Obsługuje środowiska komputerowe.
  • Obsługuje ustawienia grupy objętej ograniczeniami na komputerze.
  • Punkt końcowy metadanych klienta jest teraz opcjonalny. W tym punkcie końcowym URL polityki prywatności też jest opcjonalny.
  • Dodaliśmy zastrzeżenie dotyczące używania w dokumencie zasad CSP connect-src.

Zasoby