Aktualizacje interfejsu Federated Credential Management API

Interfejs Federated Credential Management API jest udostępniany w Chrome 108, ale jego rozwój powinien być kontynuowany. Nie są planowane żadne zmiany powodujące niezgodność.

Dla kogo są przeznaczone 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ą usług objętych ograniczeniami i chcesz rozszerzyć możliwości interfejsu API, aby dostosować go do swoich potrzeb – np. obserwowałeś(-aś) dyskusje dotyczące repozytorium FedID CG lub bierzesz w nich udział i chcesz zrozumieć zmiany wprowadzone w interfejsie API.
  • Jesteś dostawcą przeglądarki i chcesz sprawdzić stan implementacji interfejsu API.

Jeśli jesteś nowym użytkownikiem tego interfejsu API lub jeszcze z nim nie eksperymentowałeś, przeczytaj wprowadzenie do interfejsu Federated Credential Management API.

Historia zmian

Aby na bieżąco otrzymywać informacje o zmianach w interfejsie FedCM API, zasubskrybuj nasz newsletter.

Chrome 125 (kwiecień 2024 r.)

Chrome 123 (luty 2024 r.)

  • Dodaliśmy obsługę interfejsu Domain Hint API. Interfejs Domain Hint API umożliwia stronom RP określenie usługi domainHint w wywołaniu interfejsu FedCM API, aby wyświetlić tylko konta pasujące do użytkownika.

Chrome 122 (styczeń 2024 r.)

  • Dodaliśmy obsługę interfejsu Disable API. Interfejs Rozłącz API umożliwia stronom RP odłączania użytkowników od konta dostawcy tożsamości bez używania plików cookie innych firm.
  • Sprawdzanie /.well-known/web-identity jest teraz pomijane, gdy RP 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.)

  • Bezpretensjonalny warunek aktywowania automatycznego ponownego uwierzytelniania FedCM:
    • Funkcja automatycznego ponownego uwierzytelniania w FedCM jest aktywowana tylko wtedy, gdy użytkownik powraca. Oznacza to, że w każdej instancji przeglądarki użytkownik musi zalogować się w strefie objętej ograniczeniami dostępu przy użyciu FedCM, zanim zostanie uruchomione automatyczne ponowne uwierzytelnianie. Ten warunek został początkowo wprowadzony, aby zminimalizować ryzyko, że urządzenia śledzące udają dostawcę tożsamości i nakłaniają przeglądarkę do automatycznego ponownego uwierzytelnienia użytkownika bez jego wiedzy i zgody. Taki sposób działania nie może jednak zagwarantować korzyści dla prywatności, jeśli narzędzie do śledzenia ma dostęp do plików cookie innych firm w kontekście RP. FedCM zapewnia tylko część możliwości możliwych dzięki plikom cookie innych firm. Jeśli więc narzędzie ma już dostęp do tych plików w kontekście strony objętej ograniczeniami, dostęp do FedCM nie stwarza dodatkowego ryzyka dla prywatności.
      Istnieją uzasadnione przypadki użycia plików cookie innych firm, a złagodzenie warunków może poprawić wygodę użytkowników, więc to działanie zmienia się w porównaniu z Chrome 121. Zdecydowaliśmy się złagodzić ograniczenie, tak aby użytkownik był traktowany jako powracający: jeśli dostawca tożsamości ma dostęp do plików cookie innych firm w kontekście dostawcy tożsamości, Chrome zaufa twierdzeniu dostawcy tożsamości o stanie konta użytkownika określonym 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 firmy, heurystyki (Safari, Firefox, Chrome) i innych interfejsów API platform internetowych (np. Storage Access API). Pamiętaj, że jeśli w przyszłości dostawca tożsamości straci dostęp do plików cookie innych firm, a użytkownik nigdy wcześniej nie przyznał uprawnień w interfejsie FedCM (np. klikając przycisk Kontynuuj jako), nadal będzie traktowany jako nowy użytkownik.
      Deweloper nie musi podejmować żadnych działań. Pamiętaj, że po tej zmianie proces automatycznego ponownego uwierzytelniania może być aktywowany częściej, jeśli dostawca tożsamości ma dostęp do plików cookie innych firm i twierdzi, że użytkownik utworzył konto w RPA w przeszłości.

Chrome 120 (listopad 2023 r.)

  • W Chrome 120 dodaliśmy obsługę tych 3 funkcji:
    • Interfejs API stanu logowania: interfejs API stanu logowania to mechanizm, w ramach którego 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 łagodzić potencjalne ataki czasowe. Interfejs Login Status API jest wymagany przez FedCM. Po tej zmianie flaga chrome://flags/#fedcm-without-third-party-cookies nie musi już włączać FedCM w przypadku blokowania plików cookie innych firm.
    • Error API: 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 zaistnieje automatyczne ponowne uwierzytelnienie lub jawna zapośredniczenie, gdy kliknięcie przycisku Kontynuuj jako u dostawcy tożsamości i RP. Udostępnianie następuje dopiero po przyznaniu użytkownikowi uprawnień do obsługi komunikacji dostawcy tożsamości i RP.

Chrome 117 (wrzesień 2023 r.)

Chrome 116 (sierpień 2023 r.)

  • W Chrome 116 dodaliśmy obsługę tych 3 funkcji:
    • Login Hint API: określ preferowane konto użytkownika, na które chcesz się zalogować.
    • User Info API: pobiera informacje o powracającym użytkowniku, aby dostawca tożsamości mógł wyrenderować spersonalizowany przycisk logowania w elemencie iframe.
    • RP Context API: w oknie FedCM użyj innego tytułu niż „Zaloguj się”.
  • Dostępna jest wersja próbna interfejsu API stanu logowania dostawcy tożsamości. Więcej informacji znajdziesz w artykule Aktualizacje w FedCM: interfejs API stanu logowania dostawcy tożsamości, podpowiedź 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 początkowym uwierzytelnieniu przy użyciu FedCM. Poprawia to wygodę użytkowników i umożliwia sprawniejsze ponowne uwierzytelnianie w RPA po uzyskaniu wcześniejszej zgody. Dowiedz się więcej o automatycznym ponownym uwierzytelnianiu w FedCM.

Chrome 110 (luty 2023 r.)

  • W przypadku punktu końcowego potwierdzenia identyfikatora dostawcy tożsamości muszą sprawdzić nagłówek Origin (zamiast nagłówka Referer), aby zobaczyć, czy wartość jest zgodna z początkiem identyfikatora klienta.
  • Obsługa elementów iframe z innych domen w FedCM jest już dostępna. Aby umożliwić korzystanie z interfejsu FedCM API w umieszczonym elemencie iframe z innych domen, witryna musi określić zasadę Permissions-Policy identity-credentials-get. Zobacz przykład elementu iframe z innych domen.
  • Dodano nową flagę Chrome chrome://flags/#fedcm-without-third-party-cookies. Dzięki temu 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 jest teraz w dokumencie nazywany „dobrze znanym plikiem”. Nie musisz wprowadzać żadnych zmian w implementacji.
  • „Plik manifestu dostawcy tożsamości” to teraz „plik konfiguracyjny” w dokumencie. 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.)

  • Dodano ważne informacje o zabezpieczeniach do dokumentu. Dostawca tożsamości musi sprawdzić, czy nagłówek Referer jest zgodny z punktem początkowym w grupie objętej ograniczeniami zarejestrowanymi z wyprzedzeniem w punkcie końcowym tokena identyfikatora.
  • 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 korzysta teraz z nowego typu IdentityCredential zamiast FederatedCredential. Można go używać do wykrywania funkcji, ale poza tym jest to zmiana w dużej mierze 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 nie działa już.
  • W przypadku wywołań 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 parametrem opcjonalnym dla navigator.credentials.get().
  • Usługa hint nie jest już dostępna jako opcja 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 dla poszczególnych grup objętych ograniczeniami na komputerze.
  • Punkt końcowy metadanych klienta jest teraz opcjonalny. W tym punkcie końcowym adres URL polityki prywatności też jest opcjonalny.
  • Dodano zastrzeżenie dotyczące używania CSP connect-src w dokumencie.

Zasoby