Migracja do FedCM

Ten przewodnik pomaga zrozumieć zmiany w aplikacji internetowej wprowadzone przez Federated Credentials Management API (FedCM).

Gdy FedCM jest włączony, przeglądarka wyświetla podpowiedzi i nie są używane żadne pliki cookie innych firm.

Przegląd

Piaskownica prywatności w internecie i usunięcie z Chrome plików cookie innych firm wprowadzają istotne zmiany w usługach tożsamości Google i logowaniu użytkowników.

FedCM umożliwia bardziej prywatny proces logowania bez konieczności używania plików cookie innych firm. Przeglądarka kontroluje ustawienia użytkownika, wyświetla prośby i kontaktuje się z dostawcą tożsamości, takim jak Google, tylko po udzieleniu wyraźnej zgody użytkownika.

W przypadku większości witryn migracja odbywa się płynnie dzięki zgodnym wstecznie aktualizacji biblioteki JavaScript usług tożsamości Google.

Aktualizacje funkcji automatycznego logowania

W sierpniu 2023 r. uruchomiliśmy sfederowaną wersję funkcji zarządzania danymi uwierzytelniającymi (FedCM) w wersji beta dla usług tożsamości Google. Wielu programistów przetestowało go i przekazało cenne opinie.

Jedną z odpowiedzi deweloperów Google jest wymóg automatycznego logowania się za pomocą gestów w FedCM. W trosce o ochronę prywatności Chrome wymaga od użytkowników ponownego potwierdzenia, że chcą zalogować się w witrynie za pomocą konta Google w każdej instancji Chrome, nawet jeśli użytkownik zatwierdził witrynę przed wdrożeniem FedCM. To jednorazowe ponowne potwierdzenie jest dokonywane 1 kliknięciem komunikatu jednym dotknięciem, za pomocą którego użytkownik jest skłonny się zalogować. Ta zmiana może spowodować wstępne zakłócenia współczynników konwersji związanych z logowaniem automatycznym w niektórych witrynach.

Niedawno w Chrome M121 wprowadziliśmy zmianę w interfejsie automatycznego logowania w FedCM. Potwierdzenie jest wymagane tylko w przypadku ograniczenia plików cookie innych firm. Oznacza to, że:

  1. Zanim ograniczenia dotyczące plików cookie innych firm zostaną podniesione do 100% w III kwartale 2024 r., automatyczne logowanie w FedCM nie będzie wymagać ponownego potwierdzenia powracających użytkowników. Jeśli użytkownik potwierdzi ponownie w interfejsie FedCM, to potwierdzenie zostanie uwzględnione w ramach wymagania dotyczącego gestów w okresie post-3PCD.

  2. Automatyczne logowanie w FedCM sprawdzi stan ponownego potwierdzenia, jeśli pliki cookie innych firm zostaną dziś ręcznie zablokowane przez użytkowników lub domyślnie w Chrome w przyszłości.

W związku z tą zmianą zalecamy jak najszybsze przeniesienie deweloperów korzystających z logowania automatycznego do FedCM. Pozwoli to ograniczyć zakłócenia w korzystaniu ze współczynników konwersji przy logowaniu automatycznym.

W przypadku automatycznego logowania kod JavaScript GIS nie będzie aktywować FedCM w starszej wersji Chrome (sprzed wersji M121), nawet jeśli witryna włączy obsługę FedCM.

Różnice w podróży użytkownika

Usługi jednym dotknięciem korzystające z FedCM i bez FedCM są podobne, ale występują tylko niewielkie różnice.

Nowy użytkownik na 1 sesję

W FedCM jedno dotknięcie wyświetla nazwę domeny zamiast nazwy aplikacji.

Korzystanie z FedCM Bez FedCM
Nowy użytkownik na pojedynczej sesji korzystający z FedCM Nowy użytkownik z jedną sesją bez FedCM

Użytkownik powracający do jednej sesji (z wyłączonym automatycznym logowaniem)

W FedCM jedno dotknięcie wyświetla nazwę domeny zamiast nazwy aplikacji.

Korzystanie z FedCM Bez FedCM
Ścieżka użytkownika powracającego do pojedynczej sesji przy użyciu FedCM (z wyłączonym logowaniem automatycznym) Ścieżka użytkownika powracającego do jednej sesji bez FedCM (z wyłączonym logowaniem automatycznym)

Użytkownik powracający do jednej sesji (z włączonym logowaniem automatycznym)

Korzystając z FedCM, użytkownicy mogą kliknąć X, aby anulować automatyczne logowanie w ciągu 5 sekund, zamiast klikać przycisk Anuluj.

Korzystanie z FedCM Bez FedCM
Ścieżka użytkownika powracającego do pojedynczej sesji w FedCM (z włączonym automatycznym logowaniem) Ścieżka użytkownika powracającego do jednej sesji bez FedCM (z włączonym automatycznym logowaniem)

Wiele sesji

W FedCM jedno dotknięcie wyświetla nazwę domeny zamiast nazwy aplikacji.

Korzystanie z FedCM Bez FedCM
Użytkownik z wieloma sesjami korzystający z FedCM Użytkownik z wieloma sesjami bez FedCM

Zanim zaczniesz

Sprawdź, czy ustawienia i wersja przeglądarki obsługują interfejs FedCM API. Zalecamy zaktualizowanie go do najnowszej wersji.

  • Interfejs FedCM API jest dostępny w Chrome w wersji 117 i nowszych.

  • W Chrome włączone jest ustawienie Logowanie przez usługę zewnętrzną.

  • Jeśli używasz przeglądarki Chrome 119 lub starszej, otwórz chrome://flags i włącz eksperymentalną funkcję FedCmWithoutThirdPartyCookies. Ten krok nie jest wymagany w przeglądarce Chrome 120 ani nowszej.

Migracja aplikacji internetowej

Wykonaj te czynności, aby włączyć FedCM, ocenić potencjalny wpływ migracji i, jeśli to konieczne, wprowadzić zmiany w istniejącej aplikacji internetowej:

1. Dodaj flagę wartości logicznej, aby włączyć FedCM podczas inicjowania przy użyciu:

2. Usuń użycie metod isDisplayMoment(), isDisplayed(), isNotDisplayed() i getNotDisplayedReason() z kodu.

Aby zwiększyć prywatność użytkowników, wywołanie zwrotne google.accounts.id.prompt nie zwraca już w obiekcie PromptMomentNotication żadnych powiadomień o wyświetlonych momentach. Usuń cały kod, który zależy od metod związanych z momentem wyświetlania. Są to metody isDisplayMoment(), isDisplayed(), isNotDisplayed() i getNotDisplayedReason().

3. Usuń w kodzie metodę getSkippedReason().

Chociaż moment pominięcia (isSkippedMoment()), nadal będzie wywoływany z wywołania zwrotnego google.accounts.id.prompt w obiekcie PromptMomentNotication, ale nie podano szczegółowego powodu. Usuń z kodu cały kod, który zależy od metody getSkippedReason().

Pamiętaj, że po włączeniu FedCM powiadomienie o odrzuceniu momentu (isDismissedMoment()) ani powiązana z nim metoda szczegółowej przyczyny (getDismissedReason()) nie zmieniają się.

4. Usuń atrybuty stylu position z data-prompt_parent_id i intermediate_iframes.

Przeglądarka określa rozmiar i pozycję promptów użytkownika. Niestandardowe pozycje w przypadku użycia funkcji One Tap na komputerze nie są obsługiwane.

5. W razie potrzeby zaktualizuj układ strony.

Przeglądarka kontroluje rozmiar i pozycję promptów użytkownika. W zależności od układu poszczególnych stron niektóre treści mogą zostać nałożone jako niestandardowe pozycje w przypadku korzystania z jednego dotknięcia na komputerze – nie są obsługiwane np. atrybut stylu, data-prompt_parent_id, intermediate_iframes, niestandardowy element iframe ani inne kreatywne sposoby.

Zmień układ strony, aby zwiększyć wygodę użytkowników, gdy ważne informacje są zasłonięte. Nie buduj wygody użytkowników na podstawie promptu jednym dotknięciem, nawet jeśli zakładamy, że jest on w pozycji domyślnej. Interfejs FedCM API jest zapośredniczony przez przeglądarkę, dlatego różni dostawcy przeglądarek mogą nieco inaczej umieszczać prompty.

6. Dodaj atrybut allow="identity-credentials-get" do ramki nadrzędnej, jeśli aplikacja internetowa wywołuje interfejs One Tap API z elementów iframe z innych domen.

Element iframe jest uznawany za element z innych domen, jeśli jego źródło nie jest identyczne z pierwotnym elementem. Na przykład:

  • Różne domeny: https://example1.com i https://example2.com
  • Różne domeny najwyższego poziomu: https://example.uk i https://example.jp
  • Subdomeny: https://example.com i https://login.example.com

    Aby zwiększyć prywatność użytkowników, gdy interfejs One Tap API jest wywoływany z elementów iframe z innych domen, musisz dodać atrybut allow="identity-credentials-get" w każdym tagu iframe ramki nadrzędnej:

    <iframe src="https://your.cross-origin/onetap.page" allow="identity-credentials-get"></iframe>
    

    Jeśli aplikacja korzysta z elementu iframe, który zawiera inny element iframe, musisz się upewnić, że ten atrybut został dodany do każdego elementu, w tym wszystkich elementów podrzędnych.

    Weźmy na przykład taki scenariusz:

  • Górny dokument (https://www.example.uk) zawiera element iframe o nazwie „iframeA”, który zawiera stronę (https://logins.example.com).

  • Ta umieszczona strona (https://logins.example.com) zawiera też element iframe o nazwie „iframe B”, który dodatkowo osadza stronę (https://onetap.example2.com) hostującą jedno dotknięcie.

    Aby zapewnić prawidłowe wyświetlanie jednym dotknięciem, musisz dodać atrybut zarówno do tagów iframe A, jak i iframe B.

    Przygotuj się na pytania w momencie, który nie wyświetla się jednym dotknięciem. Inne witryny o różnym pochodzeniu mogą umieszczać w elementach iframe Twoje strony hostujące jedno dotknięcie. Możesz otrzymywać więcej zgłoszeń do zespołu pomocy związanych z brakiem wyświetleń za pomocą jednego dotknięcia przez użytkowników i innych właścicieli witryn. Chociaż zmiany mogą być wprowadzane tylko przez właścicieli witryn, możesz wykonać te czynności, aby ograniczyć ich wpływ:

  • Zaktualizuj dokumentację dla programistów, aby zawierała informacje o tym, jak prawidłowo skonfigurować element iframe, by wywoływać witrynę. Link do tej strony znajdziesz w dokumentacji.

  • Zaktualizuj w razie potrzeby stronę z najczęstszymi pytaniami dla deweloperów.

  • Poinformuj zespół pomocy o nadchodzącej zmianie i przygotuj się z wyprzedzeniem na odpowiedź.

  • Aktywnie kontaktuj się z partnerami, klientami i właścicielami witryn, których dotyczą zmiany, aby umożliwić im płynne przejście na FedCM.

7. Dodaj te dyrektywy do standardu Content Security Policy (CSP).

Ten krok jest opcjonalny, ponieważ nie wszystkie witryny definiują dostawcę CSP.

  • Jeśli nie używasz w witrynie CSP, nie musisz wprowadzać żadnych zmian.

  • Jeśli CSP działa w przypadku bieżącego dotknięcia jednym dotknięciem, a nie używasz connect-src, frame-src, script-src, style-src ani default-src, nie musisz wprowadzać żadnych zmian.

  • W przeciwnym razie postępuj zgodnie z tym przewodnikiem, aby skonfigurować CSP. Bez odpowiedniej konfiguracji CSP usługa FedCM One Tap nie byłaby wyświetlana na stronie.

8. Usuń obsługę logowania przyspieszonych stron mobilnych (AMP).

Obsługa logowania się przez użytkowników na stronach AMP to opcjonalna funkcja GIS zaimplementowana w swojej aplikacji internetowej. W takim przypadku

Usuń wszelkie odniesienia do:

  • element niestandardowy amp-onetap-google, a

  • <script async custom-element="amp-onetap-google" src="https://cdn.ampproject.org/v0/amp-onetap-google-0.1.js"></script>
    

    Rozważ przekierowanie żądań logowania ze stron AMP do procesu logowania HTML. Pamiętaj, że nie ma to wpływu na powiązany element Intermediate Iframe Support API.

Testowanie i weryfikowanie migracji

Po wprowadzeniu niezbędnych zmian na podstawie poprzednich kroków możesz sprawdzić, czy migracja się powiodła.

  1. Upewnij się, że przeglądarka obsługuje FedCM i czy masz już sesję konta Google.

  2. Przejdź do stron w aplikacji jednym dotknięciem.

  3. Sprawdź, czy komunikat jednym dotknięciem się wyświetla i bezpiecznie nakłada się na treści.

  4. Podczas logowania do aplikacji za pomocą jednego dotknięcia do punktu końcowego lub metody wywołania zwrotnego upewnij się, że prawidłowe dane logowania zostały przywrócone do punktu końcowego lub do metody wywołania zwrotnego.

  5. Jeśli logowanie automatyczne jest włączone, sprawdź, czy anulowanie działa, i popraw dane logowania, aby wrócić do punktu końcowego lub metody wywołania zwrotnego.

Okres oczekiwania jednym dotknięciem

Kliknięcie jednym dotknięciem w prawym górnym rogu spowoduje zamknięcie powiadomienia i rozpoczęcie okresu oczekiwania, w którym prośba zostanie tymczasowo wyłączona. Jeśli w Chrome chcesz, aby komunikat jednym dotknięciem wyświetlał się ponownie przed zakończeniem okresu oczekiwania, możesz zresetować stan tego okresu, klikając ikonę blokady na pasku adresu, a następnie przycisk Zresetuj uprawnienia.

Okres braku aktywności logowania automatycznego

Podczas testowania logowania automatycznego jednym dotknięciem za pomocą FedCM następuje 10-minutowa cisza przed każdą próbą logowania automatycznego. Okresu ciszy nie można wyzerować. Aby ponownie aktywować logowanie automatyczne, trzeba było odczekać 10 minut lub użyć innego konta Google do testowania.

Przydatne materiały

Narzędzie analizy Piaskownicy prywatności (PSAT) to rozszerzenie Narzędzi deweloperskich w Chrome, które ma specjalistyczne funkcje, które pomagają deweloperom radzić sobie z wycofaniem plików cookie innych firm i wdrożeniem alternatywnych interfejsów API. Narzędzie to skanuje witrynę pod kątem zmodyfikowanych w niej funkcji i podaje listę zalecanych zmian.