Obsługa automatycznego ponownego uwierzytelniania w FedCM

Chrome obsługuje automatyczne ponowne uwierzytelnianie w FedCM

Interfejs Federated Credential Management API (FedCM) to internetowy interfejs API na potrzeby federacji tożsamości chroniącej prywatność. Dzięki federacji tożsamości RP (strona uzależniona) korzysta z dostawcy tożsamości, który dostarcza użytkownikowi bez konieczności podawania nowej nazwy użytkownika i hasła.

FedCM pozwala przeglądarce poznać kontekst, w którym dostawca tożsamości i dostawca tożsamości i wymiany informacji. Informuje użytkownika o informacjach i uprawnieniach udostępniania poziomów i zapobiegać niezamierzonym nadużyciom. Usługa FedCM jest dostępna w tych regionach: Chrome od wersji 108.

W Chrome 115 FedCM obsługuje automatyczne ponowne uwierzytelnianie, dla użytkowników i umożliwia sprawniejsze ponowne uwierzytelnianie w grupie objętej ograniczeniami po uzyskaniu początkowej zgody.

Automatyczne ponowne uwierzytelnianie

Obecnie, gdy użytkownik utworzy konto sfederowane w RP z dostawcą tożsamości przy użyciu interfejsu FedCM API, odwiedzają witrynę, muszą wykonać te same czynności w interfejsie. Oznacza to, że użytkownik będzie musiał ręcznie i ręcznie potwierdzić chęć ponownie uwierzytelnić i kontynuować logowanie.

Chociaż konkretne wrażenia użytkownika mają sens, zanim utworzy on konta sfederowanego w celu zapobiegania śledzeniu (co jest jednym z głównych celów FedCM), jest niepotrzebnie uciążliwe, gdy użytkownik przejrzy ją raz: użytkownik przyznaje uprawnienia do komunikacji między stroną docelową a dostawcą tożsamości, nie niesie ze sobą korzyści związanych z prywatnością ani bezpieczeństwem w celu wymuszania na innym użytkowniku potwierdzenia w przypadku czegoś, co użytkownik już wcześniej uznał. Właśnie dlatego wprowadzamy prostszy interfejs, na który mogą wchodzić grupy objęte ograniczeniami. powracających użytkowników.

FedCM automatyczne ponowne uwierzytelnianie (w skrócie „auto-reauthn”) pozwala użytkownikom automatycznie ponownie uwierzytelniać się, po zakończeniu wstępnego uwierzytelnienia przy użyciu FedCM. „Początkowa wartość uwierzytelnianie”. oznacza, że użytkownik utworzył konto w grupie objętej ograniczeniami lub loguje się kliknij przycisk „Kontynuuj jako...” w oknie logowania w FedCM. pierwszy raz w tej samej przeglądarce.

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

Wybierz opcję automatycznego ponownego uwierzytelniania

Chociaż wprowadzamy automatyczne ponowne uwierzytelnianie, aby zapewnić lepsze wrażenia użytkownika i dostosować specyfikacja, domyślny interfejs będzie inny, bez użycia kodu . Gdy automatyczne ponowne uwierzytelnianie jest dostępne, przeglądarka zmienia działanie w zależności od tego, w opcji mediation udostępnianej przez dewelopera navigator.credentials.get()

const cred = await navigator.credentials.get({
  identity: {
    providers: [{
      configURL: "https://idp.example/fedcm.json",
      clientId: "1234",
    }],
  },
  mediation: 'optional', // this is the default
});

mediation to właściwość w Zarządzaniu danymi logowania API działa w taki sam sposób w dotychczasowy sposób robi dla PasswordCredential oraz FederatedCredential Jest częściowo obsługiwana przez PublicKeyCredential . Właściwość akceptuje te 4 wartości:

  • 'required': aby kontynuować, wymagane jest zapośredniczenie, np. kliknięcie przycisku „Dalej” w interfejsie. Wybierz tę opcję, jeśli użytkownicy powinni jawnie przyznać uprawnienie za każdym razem, gdy konieczne jest uwierzytelnienie.
  • 'optional'(domyślnie): w miarę możliwości automatyczne ponowne uwierzytelnianie; w przeciwnym razie wymaga zapośredniczenia. Śr zalecamy wybranie tej opcji na stronie logowania.
  • 'silent': automatyczne ponowne uwierzytelnianie, jeśli to możliwe, dyskretne uwierzytelnienie bez konieczności mediacji, jeśli nie. Zalecamy wybranie tej opcji na stronach innych niż dedykowanej strony logowania, ale na której chcesz utrzymać zainteresowanie użytkowników – np. strona produktu w witrynie dostawy lub strona z artykułem witryny.
  • 'conditional': używany w przypadku WebAuthn, ale obecnie nie jest dostępny dla FedCM.

W przypadku tego wywołania automatyczne ponowne uwierzytelnianie odbywa się w tych sytuacjach:

  • Usługa FedCM jest dostępna. Na przykład użytkownik nie wyłączył FedCM. globalnie lub dla RP w ustawieniach.
  • Użytkownik zalogował się w witrynie na tym koncie tylko z jednego konta z interfejsem FedCM API przeglądarki.
  • Użytkownik jest zalogowany w dostawcy tożsamości za pomocą tego konta.
  • Automatyczne ponowne uwierzytelnianie nie miało miejsca w ciągu ostatnich 10 minut.
  • RP nie zadzwonił później navigator.credentials.preventSilentAccess() przy użyciu poprzedniego logowania.

W przypadku spełnienia powyższych warunków próba automatycznego ponownego uwierzytelnienia użytkownik zaczyna działać od razu po wywołaniu funkcji navigator.credentials.get() w FedCM.

Użytkownik automatycznie ponownie uwierzytelnia się przez FedCM.

Wymuś zapośredniczenie, używając preventSilentAccess()

Automatyczne ponowne uwierzytelnianie użytkowników natychmiast po wylogowaniu nie sprawi, że bardzo dobre wrażenia użytkowników. Dlatego FedCM odczeka 10-minutową przerwę automatycznego ponownego uwierzytelniania, aby zapobiec takim działaniom. Oznacza to, że następuje automatyczne ponowne uwierzytelnianie co najwyżej raz na 10 minut, chyba że użytkownik zaloguje się ponownie 10 minut. RP musi wywoływać metodę navigator.credentials.preventSilentAccess(), jawnie zażądaj od przeglądarki wyłączenia automatycznego ponownego uwierzytelniania, gdy użytkownik wyloguje się z jawnie w grupie objętej ograniczeniami, na przykład przez kliknięcie przycisku wylogowania.

function signout() {
  navigator.credentials.preventSilentAccess();
  location.href = '/signout';
}

Użytkownicy mogą zrezygnować z automatycznego ponownego uwierzytelniania w ustawieniach

Użytkownicy mogą zrezygnować z automatycznego ponownego uwierzytelniania w menu ustawień:

  • W Chrome na komputerze kliknij chrome://password-manager/settings > Zaloguj się automatycznie.
  • W Chrome na Androida otwórz Ustawienia > Menedżer haseł > Kliknij koło zębate w prawym górnym rogu > Automatyczne logowanie.

Po wyłączeniu tego przełącznika użytkownik może zrezygnować z automatycznego ponownego uwierzytelniania razem. To ustawienie jest przechowywane i synchronizowane między urządzeniami, jeśli użytkownik zalogujesz się na konto Google w wystąpieniu Chrome, a synchronizacja to .

Podziel się opinią

Jeśli testujesz FedCM, możesz podzielić się swoją opinią i podzielić się informacjami o napotkanych problemach na crbug.com w komponencie „Blink>Identity>FedCM".

Zdjęcie: Noah Samuel Franz, Unsplash