Aktualizacje interfejsu Federated Credential Management API

Interfejs Federated Credential Management API jest dostępny w Chrome 108, ale będzie dalej ewoluować. Nie planujemy wprowadzać żadnych zmian.

Dla kogo są przeznaczone te aktualizacje?

Te aktualizacje są dla Ciebie, jeśli:

  • Jesteś dostawcą tożsamości korzystającym z interfejsu Federated Credential Management API.
  • Jesteś dostawcą tożsamości lub dostawcą tożsamości i chcesz rozszerzyć interfejs API, aby dostosować go do swojego przypadku użycia. Na przykład obserwujesz lub uczestniczysz w dyskusjach w repozytorium FedID CG i chcesz poznać zmiany wprowadzone w interfejsie API.
  • Jesteś dostawcą przeglądarki i chcesz dowiedzieć się więcej o stanie wdrażania interfejsu API.

Jeśli nie znasz jeszcze tego interfejsu API lub nie korzystasz z niego, przeczytaj wprowadzenie do interfejsu Federated Credential Management API.

Historia zmian

Aby być na bieżąco z aktualizacjami interfejsu FedCM API, czytaj nasz blog lub newsletter.

Chrome 131 (październik 2024 r.)

Chrome 125 (kwiecień 2024 r.)

Chrome 123 (luty 2024 r.)

  • Dodano obsługę interfejsu Domain Hint API. Interfejs API podpowiedzi domeny umożliwia dostawcom treści określenie w wywołaniu interfejsu FedCM API usługi domainHint, aby wyświetlać użytkownikowi tylko pasujące do niej konta.

Chrome 122 (styczeń 2024 r.)

Chrome 121 (grudzień 2023 r.)

  • Zmniejszony warunek uruchamiający automatyczną ponowną autoryzację FedCM:
    • Funkcja automatycznego ponownego uwierzytelniania w FedCM jest wywoływana tylko wtedy, gdy użytkownik wraca. Oznacza to, że użytkownik musi zalogować się w usługach uwierzytelniających za pomocą interfejsu FedCM w każdej instancji przeglądarki, zanim zostanie uruchomiona automatyczna ponowna autoryzacja. Ten warunek został wprowadzony w celu zminimalizowania ryzyka, że śledzące pliki cookie będą się podszywać pod dostawcę tożsamości i oszukają przeglądarkę, aby automatycznie uwierzytelnić użytkownika bez jego wiedzy lub zgody. Takie rozwiązanie nie gwarantuje jednak korzyści dla prywatności, jeśli śledzenie ma dostęp do plików cookie innych firm w kontekście RP. FedCM udostępnia tylko podzbiór możliwości dostępnych w przypadku plików cookie innych firm, więc jeśli śledzenie ma już dostęp do plików cookie innych firm w kontekście RP, dostęp do FedCM nie stwarza dodatkowego zagrożenia dla prywatności.
      Pliki cookie innych firm są czasami używane w uzasadnionych celach, a złagodzenie tego warunku poprawiłoby wrażenia użytkownika. Dlatego w Chrome 121 zmieniamy to zachowanie. Postanowiliśmy złagodzić ograniczenie tego warunku, aby uznać użytkownika za powracającego: jeśli w kontekście RP pliki cookie innych firm są dostępne dla dostawcy tożsamości, Chrome będzie ufać jego oświadczeniu o stanie konta użytkownika określonym na podstawie listy approved_clients i w odpowiednich przypadkach uruchamiać automatyczne ponowne uwierzytelnianie. Pliki cookie innych firm mogą być dostępne za pomocą ustawień użytkownika, zasad przedsiębiorstwa, heurystyki (Safari, Firefox, Chrome) i innych interfejsów API platform internetowych (np. Storage Access API). Pamiętaj, że jeśli w przyszłości zewnętrzny dostawca tożsamości utraci dostęp do plików cookie innych firm, a użytkownik nigdy wcześniej nie wyraził wyraźnej zgody w interfejsie FedCM (np. przez kliknięcie przycisku Dalej jako), nadal będzie traktowany jako nowy użytkownik.
      Nie musisz nic robić. Pamiętaj, że po wprowadzeniu tej zmiany proces automatycznego ponownego uwierzytelniania może być uruchamiany częściej, jeśli dostawca tożsamości ma dostęp do plików cookie innych firm i twierdzi, że użytkownik w przeszłości utworzył konto w usługodawcy RP.

Chrome 120 (listopad 2023 r.)

  • W Chrome 120 dodano obsługę tych 3 funkcji:
    • Interfejs API stanu logowania: interfejs API stanu logowania to mechanizm, w którym witryna, zwłaszcza dostawca tożsamości, informuje przeglądarkę o stanie logowania użytkownika. Dzięki temu interfejsowi API przeglądarka może ograniczyć liczbę niepotrzebnych żądań do dostawcy tożsamości i zmniejszyć ryzyko potencjalnych ataków związanych z czasem. Interfejs Login Status API jest wymagany w przypadku FedCM. W związku z tą zmianą flaga chrome://flags/#fedcm-without-third-party-cookies nie jest już wymagana do włączenia FedCM, gdy pliki cookie innych firm są zablokowane.
    • Interfejs Error API: interfejs Error API powiadamia użytkownika, wyświetlając w przeglądarce interfejs użytkownika z informacjami o błędach dostarczonymi przez dostawcę tożsamości.
    • Auto-Selected Flag API: Auto-Selected Flag API informuje zarówno IdP, jak i RP, czy użytkownik udzielił wyraźnej zgody, klikając przycisk Continue as (Dalej jako), w przypadku automatycznego ponownego autoryzowania lub wyraźnego pośredniczenia. Udostępnianie następuje dopiero po udzieleniu przez użytkownika zgody na komunikację między dostawcą tożsamości a reprezentantem klienta.

Chrome 117 (wrzesień 2023 r.)

Chrome 116 (sierpień 2023 r.)

  • W Chrome 116 dodano obsługę tych 3 funkcji:
    • Login Hint API: określ preferowane konto użytkownika, na którym chcesz się zalogować.
    • User Info API: pobieranie informacji o powracającym użytkowniku, aby dostawca tożsamości (IdP) mógł renderować spersonalizowany przycisk logowania w ramce iframe.
    • RP Context API: w oknie FedCM użyj tytułu innego niż „Zaloguj się”.
  • Dostępny jest okres testowania origin interfejsu IdP Sign-In Status API. Więcej informacji znajdziesz w artykule Nowości dotyczące FedCM: interfejs API stanu logowania dostawcy tożsamości, podpowiedź logowania i inne.

Chrome 115 (czerwiec 2023 r.)

  • Dodano obsługę automatycznego ponownego uwierzytelniania, która umożliwia użytkownikom automatyczne ponowne uwierzytelnianie się po powrocie po początkowym uwierzytelnieniu za pomocą FedCM. Zwiększa to wygodę użytkowników i umożliwia bardziej płynną ponowną autoryzację w usłudze RP po początkowej autoryzacji. Dowiedz się więcej o automatycznym ponownym uwierzytelnianiu FedCM.

Chrome 110 (luty 2023 r.)

  • W przypadku punktu końcowego oświadczenia o tożsamości dostawcy tożsamości musi sprawdzić nagłówek Origin (zamiast nagłówka Referer), aby sprawdzić, czy wartość jest zgodna z pochodzeniem identyfikatora klienta.
  • Obsługa iframe w ramach wielu witryn jest teraz dostępna w przypadku FedCM. Osoba umieszczająca iframe powinna podać atrybut Permissions-Policy identity-credentials-get, aby umożliwić interfejsowi FedCM API dostęp do zainfekowanego iframe. Możesz sprawdzić przykład elementu iframe między domenami.
  • Dodano nową flagę Chrome chrome://flags/#fedcm-without-third-party-cookies. Dzięki temu flagowi możesz testować funkcję FedCM w Chrome, blokując pliki cookie innych firm. Więcej informacji znajdziesz w dokumentacji FedCM.

Chrome 108 (październik 2022 r.)

  • „Manifest najwyższego poziomu” zmienił w dokumencie nazwę na „znany plik”. Nie trzeba wprowadzać żadnych zmian w implementacji.
  • „Plik manifestu uwierzytelniania” jest teraz w dokumencie nazywany „plikiem konfiguracyjnym”. Nie wymaga to żadnych zmian w implementacji.
  • Wartość id_token_endpoint w pliku „config” 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.)

  • dodano do dokumentu ważne informacje dotyczące bezpieczeństwa; Dostawca tożsamości musi sprawdzić, czy nagłówek Referer jest zgodny z pochodzącym z uprzednio zarejestrowanego punktu końcowego tokena identyfikacyjnego.
  • Manifest najwyższego poziomu jest przemianowany z /.well-known/fedcm.json na /.well-known/web-identity, a adres URL podany w pliku 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. Można go używać do wykrywania funkcji, ale poza tym jest to w dużej mierze niewidoczna zmiana.
  • Przeniesienie funkcji logowania z poziomu kombinacji navigator.credentials.get()FederatedCredential.prototype.login() do navigator.credentials.get().
  • Punkt końcowy unieważnienia w pliku manifestu nie jest już skuteczny.
  • W przypadku połączeń navigator.credentials.get() użyj pola identity zamiast pola federated.
  • url to teraz configURL i musi być pełnym adresem URL pliku manifestu JSON zamiast ścieżki do wywołania navigator.credentials.get().
  • nonce jest teraz opcjonalnym parametrem w przypadku navigator.credentials.get().
  • Usługa hint nie jest już dostępna jako opcja dla 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 pulpitu.
  • Obsługuje ustawienia na poziomie RP na komputerze.
  • Punkt końcowy metadanych klienta jest teraz opcjonalny. W tym punkcie końcowym adres URL polityki prywatności jest też opcjonalny.
  • Dodano w dokumencie ostrzeżenie dotyczące korzystania z CSP connect-src.

Zasoby