Aktualizacje FedCM: okres próbny origin na potrzeby automatycznego ponownego uwierzytelniania

Przedstawiamy kilka aktualizacji FedCM, w tym nowy test origin do automatycznego ponownego uwierzytelniania.

Federated Credential Management API (FedCM) to internetowy interfejs API służący do ochrony prywatności federacji tożsamości. W przypadku federacji tożsamości strona uzależniona korzysta z dostawcy tożsamości, aby udostępniać użytkownikowi konto bez konieczności podawania nowej nazwy użytkownika i hasła.

FedCM to opracowany przez Google interfejs API, który pozwala przeglądarce zrozumieć kontekst, w którym dostawca tożsamości i kontrola dostępu do danych wymieniają się informacjami. Informuje użytkownika o udostępnianych informacjach i poziomach uprawnień. Zapobiega niezamierzonemu nadużyciom.

Aktualizacje

Wprowadziliśmy kilka aktualizacji w implementacji FedCM w Chrome:

Informacje o wszystkich wcześniejszych aktualizacjach interfejsu API można znaleźć w artykule Aktualizacje interfejsu Federated Credential Management API.

Najnowsza wersja FedCM zawiera nową funkcję automatycznego ponownego uwierzytelniania, która umożliwia automatyczne ponowne uwierzytelnianie użytkowników, gdy wracają po początkowym uwierzytelnieniu przez FedCM. Automatyczne ponowne uwierzytelnianie jest dostępne w ramach okresu próbnego origin Chrome 112.

Automatyczne ponowne uwierzytelnianie

Obecnie, gdy użytkownik utworzy w FedCM konto sfederowane w obrębie objętej ograniczeniami u dostawcy tożsamości, przy następnej wizycie w witrynie będzie musiał wykonać te same czynności w interfejsie. Oznacza to, że aby przejść dalej, muszą wyraźnie potwierdzić swoje dane i uwierzytelnić się ponownie. Jednym z głównych celów FedCM jest zapobieganie tajnemu śledzeniu. Takie wrażenia mają sens, zanim użytkownik utworzy sfederowane konto, ale gdy już raz przejdzie takie konto, staje się on niepotrzebne i uciążliwe. Gdy użytkownik zezwoli na komunikację między grupą objętej ograniczeniami a dostawcą tożsamości, wymuszanie przez użytkownika innego wyraźnego potwierdzenia czegoś, co już wcześniej potwierdził, nie niesie ze sobą korzyści związanych z ochroną prywatności i bezpieczeństwem. Dlatego wprowadzamy w Chrome uproszczony interfejs, który RP mogą wybierać dla powracających użytkowników.

Automatyczne ponowne uwierzytelnianie w FedCM (w skrócie „automatyczne ponowne uwierzytelnianie”) powoduje automatyczne ponowne uwierzytelnianie użytkowników (po wyrażeniu zgody na grupy objęte testami), gdy wracają po początkowym uwierzytelnieniu przez FedCM. „Wstępne uwierzytelnienie” oznacza, że użytkownik tworzy konto lub loguje się na stronie RP, klikając przycisk „Kontynuuj jako...” w oknie logowania FedCM w tej samej instancji przeglądarki.

Okno, które użytkownik klika, aby utworzyć konto lub się uwierzytelnić.
Okno, które użytkownik klika, aby utworzyć konto lub się uwierzytelnić.

RP może zażądać automatycznego ponownego uwierzytelnienia, wywołując navigator.credentials.get() za pomocą autoReauthn: true.

const cred = await navigator.credentials.get({
  identity: {
    providers: [{
      configURL: "https://idp.example/fedcm.json",
      clientId: "1234",
    }],
    // NOTE: We are exploring different API options to expose this
    // functionality here:
    // https://github.com/fedidcg/FedCM/issues/429#issuecomment-1426358523
    // You should expect that, as a result of the origin trial, we'll
    // learn more from developers and browser vendors what works best here.
    autoReauthn: true, // default to false
  },
});

W przypadku tego połączenia automatyczne ponowne uwierzytelnianie odbywa się w tych sytuacjach:

  • Usługa FedCM jest dostępna. Na przykład użytkownik nie wyłączył FedCM ani globalnie, ani w grupie objętej ograniczeniami.
  • Użytkownik użył tylko jednego konta FedCM, aby zalogować się na stronie w tej przeglądarce.
  • Użytkownik jest zalogowany u dostawcy tożsamości przy użyciu tego konta.
  • Automatyczne ponowne uwierzytelnianie nie miało miejsca w ciągu ostatnich 10 minut.

Gdy powyższe warunki zostaną spełnione, próba automatycznego ponownego uwierzytelnienia użytkownika rozpocznie się zaraz po wywołaniu navigator.credentials.get() w FedCM.

Użytkownik automatycznie przeprowadza ponowne uwierzytelnianie w grupie objętej ograniczeniami za pomocą FedCM

Wypróbuj

Możesz wypróbować automatyczne ponowne uwierzytelnianie FedCM w przeglądarce Chrome 112 lub nowszej, włączając flagę Chrome chrome://flags#fedcm-auto-re-authn.

Do celów testowych możesz zresetować 10-minutowy okres bez powiadomień, usuwając dane przeglądarki.

  1. Wejdź na chrome://history.
  2. W polu historii wyszukiwania wpisz źródło grupy objętej ograniczeniami.
  3. Kliknij ikonę z 3 kropkami ⋮ i wybierz Usuń z historii.
  4. Uruchom ponownie Chrome.

Weź udział w testowaniu origin

Aby włączyć tę funkcję w swojej witrynie, możesz też dołączyć do testowego źródła zewnętrznego dostępnego od Chrome 112 do Chrome 114.

Testowanie origin pozwala testować nowe funkcje oraz przekazywać społeczności użytkowników standardów internetowych opinie na temat ich użyteczności, praktyczności i skuteczności. Więcej informacji znajdziesz w przewodniku po testach próbnych źródła dla deweloperów witryn. Aby zarejestrować się w tej lub innej wersji próbnej origin, wejdź na stronę rejestracji.

Aby zarejestrować się w okresie próbnym zewnętrznego źródła treści i aktywować tę funkcję na urządzeniach zewnętrznych:

  1. Otwórz stronę rejestracji domeny próbnej.
  2. Kliknij przycisk Zarejestruj i wypełnij formularz, aby poprosić o token.
  3. Jako źródło wyświetlania wpisz Źródło sieci.
  4. Zaznacz Dopasowanie innych firm, aby wstawić token z JavaScriptem w innych źródłach.
  5. Kliknij Prześlij.
  6. Umieść wystawiony token w systemie innej firmy.

Aby umieścić token w firmie zewnętrznej, dodaj poniższy kod do swojej biblioteki JavaScript lub pakietu SDK udostępnianego z źródła zarejestrowanej witryny.

const tokenElement = document.createElement('meta');
tokenElement.httpEquiv = 'origin-trial';
tokenElement.content = 'TOKEN_GOES_HERE';
document.head.appendChild(tokenElement);

Zastąp TOKEN_GOES_HERE własnym tokenem.

Angażuj i dziel się opiniami

Jeśli podczas testowania napotkasz jakieś problemy lub uwagi, możesz je przesłać na stronie crbug.com w ramach komponentu Blink>Identity>FedCM.

Zdjęcie: Alex Perz w: Unsplash