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

Wprowadzamy kilka zmian w FedCM, w tym nowy test pochodzenia w celu automatycznego ponownego uwierzytelniania.

Interfejs Federated Credential Management API (FedCM) to interfejs API sieciowy do federacji tożsamości z zachowaniem prywatności. W przypadku federacji tożsamości RP (usługa) korzysta z dostawcy tożsamości (IdP), aby zapewnić użytkownikowi konto bez konieczności podawania nowego nazwy użytkownika i hasła.

FedCM to specjalnie zaprojektowany interfejs API, który pozwala przeglądarce zrozumieć kontekst, w którym strona zależna i dostawca tożsamości wymieniają się informacjami, informować użytkownika o poziomie uprawnień i informacjach udostępnianych oraz zapobiegać niezamierzonemu nadużywaniu.

Aktualizacje

Wdrożenie FedCM w Chrome zostało nieco zmienione:

Wszystkie poprzednie aktualizacje interfejsu API znajdziesz w aktualizacjach interfejsu API zarządzania poświadczeniami federacyjnymi.

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 za pomocą FedCM. Automatyczne ponowne uwierzytelnianie jest dostępne jako wersja próbna origin od wersji Chrome 112.

Automatyczne ponowne uwierzytelnianie

Obecnie, gdy użytkownik utworzy konto sfederowane w ramach FedCM na stronie RP za pomocą dostawcy tożsamości, przy następnej wizycie w witrynie musi wykonać te same czynności w interfejsie użytkownika. Oznacza to, że użytkownik musi wyraźnie potwierdzić i ponownie uwierzytelnić się, aby przejść przez proces logowania. Ponieważ jednym z głównych celów sfederowanej konsoli jest zapobieganie śledzeniu ukrytym, ten interfejs użytkownika ma sens, zanim użytkownik utworzy konto sfederowane, ale staje się zbędny i niepraktyczny, gdy użytkownik już to zrobi. Gdy użytkownik zezwoli na komunikację między RP a IDP, nie ma potrzeby ponownego potwierdzania przez użytkownika czegoś, co zostało już przez niego zaakceptowane. Dlatego w Chrome wprowadzamy bardziej usprawniony interfejs użytkownika, który RP mogą udostępnić powracającym użytkownikom.

Automatyczne ponowne uwierzytelnianie FedCM (w skrócie „automatyczne ponowne uwierzytelnianie”) polega na automatycznym ponownym uwierzytelnieniu użytkowników (gdy dostawcy usług reklamowych zdecydują się na to) po powrocie po początkowym uwierzytelnieniu za pomocą FedCM. „Pierwsze uwierzytelnianie” oznacza, że użytkownik tworzy konto lub loguje się na stronie RP, klikając przycisk „Dalej jako…” w oknie logowania FedCM po raz pierwszy w tej samej instancji przeglądarki.

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

RP może poprosić o automatyczne ponowne uwierzytelnienie, dzwoniąc na numer navigator.credentials.get() z numerem 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 ramach tego wywołania automatyczne ponowne uwierzytelnianie odbywa się w tych warunkach:

  • Usługa FedCM jest dostępna do użycia. Na przykład użytkownik nie wyłączył FedCM ani globalnie, ani w ramach RP.
  • Użytkownik zalogował się w tej przeglądarce tylko na 1 konto FedCM.
  • Użytkownik jest zalogowany w systemie dostawcy tożsamości przy użyciu tego konta.
  • Automatyczna ponowna autoryzacja nie nastąpiła w ciągu ostatnich 10 minut.

Gdy powyższe warunki zostaną spełnione, próba automatycznego ponownego uwierzytelnienia użytkownika rozpoczyna się, gdy tylko zostanie wywołana usługa FedCM navigator.credentials.get().

Użytkownik automatycznie uwierzytelnia się w usłudze RP za pomocą FedCM

Wypróbuj

Możesz spróbować automatycznego ponownego uwierzytelniania w FedCM lokalnie, włączając flagę Chrome chrome://flags#fedcm-auto-re-authn w Chrome 112 lub nowszej.

Na potrzeby testów możesz zresetować 10-minutowy okres ciszy, usuwając dane przeglądarki.

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

Udział w testach pochodzenia

Możesz też włączyć tę funkcję na swojej stronie internetowej, biorąc udział w próbnym udostępnieniu pochodzenia zewnętrznego, które jest dostępne 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.

Rejestrowanie w przypadku zewnętrznego systemu źródłowego okres próbny i aktywuj funkcję. w imieniu osób trzecich:

  1. Otwórz stronę rejestracji na okres próbny origin.
  2. Kliknij przycisk Zarejestruj i wypełnij formularz, aby poprosić o token.
  3. Jako źródło wyświetlania wpisz Web Origin.
  4. Zaznacz Dopasowanie innych firm, aby wstawić token z JavaScriptem w innych źródłach.
  5. Kliknij Prześlij.
  6. Umieść wydany token w aplikacji innej firmy.

Aby umieścić token w witrynie zewnętrznej, dodaj ten kod do JavaScriptu 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.

Zaangażowanie i przesyłanie opinii

Jeśli podczas testowania chcesz podzielić się opinią lub napotkasz problemy, możesz to zrobić na stronie crbug.com w komponencie Blink>Identity>FedCM.

Zdjęcie: Alex Perz z Unsplash