Aktualizacje FedCM: interfejs Multi IdP API na komputerach, interfejs Button Mode API oraz pakiet kontynuacji dla Chrome w testach origin na urządzeniach z Androidem

Natalia Markoborodova
Natalia Markoborodova

W Chrome 128 interfejs API Multi-IdP rozpoczyna testowanie origin na komputerze, a interfejs Button Mode API i pakiet kontynuacji rozpoczynają testy origin na Androidzie. Dzięki funkcji wielu dostawców tożsamości deweloperzy mogą określić tablicę wielu obsługiwanych dostawców tożsamości w jednym wywołaniu get(). Interfejs Button Mode API dodaje nowy interfejs. Dzięki interfejsowi Button Mode API dostawcy tożsamości mogą używać interfejsu FedCM API nawet wtedy, gdy ich użytkownicy nie mają aktywnych sesji dostawcy tożsamości po wywołaniu interfejsu API. Pakiet Continuation składa się z interfejsu Continuation API i interfejsu Parameters API, które zapewniają interfejs podobny do procesu autoryzacji OAuth obejmujący okno uprawnień dostarczone przez dostawcę tożsamości. Pakiet zawiera też inne zmiany, takie jak interfejs Fields API, wiele elementów configURL i etykiety kont niestandardowych.

Okres próbny punktu początkowego: interfejs API wielu dostawców tożsamości

Ta funkcja pozwala użytkownikom wybrać konto jednego z obsługiwanych dostawców tożsamości, a RPA mogą korzystać z wyższych wskaźników logowania i rejestracji. Jeśli użytkownik jest zalogowany przy użyciu wielu dostawców tożsamości, zostanie poproszony o zalogowanie się w usłudze RP przy użyciu jednego z tych dostawców.

Użytkownik loguje się u różnych dostawców tożsamości za pomocą interfejsu API wielu dostawców tożsamości.

Priorytety dostawców tożsamości są ustalane na podstawie istniejących kont użytkowników i powiązanych z nimi sygnatur czasowych.

  • Jeśli użytkownik zalogował się wcześniej w RPA u określonego dostawcy tożsamości (czyli ma „powracające konto”), dostawcy tożsamości zostaną wyświetleni jako pierwsze.
  • W przypadku powracających kont dostawcy tożsamości są dodatkowo sortowani według sygnatury czasowej ostatniego użycia, przy czym ostatnio używany dostawca tożsamości jest widoczny u góry listy. W niektórych przypadkach Chrome może nie mieć danych sygnatury czasowej powracającego konta. Jest to prawdopodobnie spowodowane tym, że użytkownik zalogował się, zanim w FedCM zaimplementowano dzienniki sygnatury czasowej. Te konta są wymienione poniżej tych, które mają sygnatury czasowe.
  • Jeśli użytkownik nie ma kont powracających u żadnego dostawcy tożsamości, kolejność RP jest respektowana.

FedCM zezwala na automatyczne ponowne uwierzytelnianie, jeśli deweloper poprosi o to, i jeśli istnieje jedno konto powracające. Jeśli korzystasz z wielu dostawców tożsamości, a powracające konta są przypisane do wielu dostawców tożsamości, użytkownik nie zostanie automatycznie uwierzytelniony ponownie. Posiadanie konta powracającego jest konieczne w przypadku automatycznego ponownego uwierzytelniania. Przeglądarka rozpocznie automatyczne ponowne uwierzytelnianie tylko wtedy, gdy rozpozna konto. Oznacza to, że użytkownik musiał wcześniej korzystać z FedCM na tym konkretnym koncie w tej grupie objętej ograniczeniami.

Jeśli stan logowania użytkownika jest ustawiony na wylogowany u dostawcy tożsamości, wywołanie FedCM nie powoduje pobierania kont dla tego dostawcy. Podobnie, jeśli użytkownik zostanie wylogowany u wszystkich dostępnych dostawców tożsamości, prośba o zalogowanie się w FedCM nie będzie wyświetlana automatycznie w trybie widżetu.

Jeśli zalogowano się w przeglądarce u dostawcy tożsamości, ale żądanie pobierania nie zwróciło żadnych kont tego dostawcy (na przykład jeśli sesja użytkownika wygasła, a stan logowania nie został jeszcze zaktualizowany przez przeglądarkę), dla dostawcy tożsamości wyświetlany jest interfejs niezgodności, co sugeruje użytkownikowi zalogowanie się przy użyciu niezgodnego dostawcy tożsamości.

Jeśli stan logowania użytkownika jest zalogowany, ale sesja wygasła, wyświetla się interfejs niezgodnego systemu.

Więcej informacji o stanie logowania znajdziesz w dokumentacji. Więcej informacji o implementacji znajdziesz w przewodniku dla programistów.

Okres próbny punktu początkowego: interfejs API wielu dostawców tożsamości

Możesz wypróbować interfejs Multi IdP API jako użytkownik w demonstalnej grupie objętej ograniczeniami lub jako deweloper korzystający z Chrome 128 lub nowszej wersji.

Wypróbuj jako użytkownik

Wypróbuj tę funkcję jako użytkownik. Sprawdź, czy:

  • Konfiguracja Chrome nie pozwala na blokowanie próśb o zalogowanie się przez usługę zewnętrzną na stronie chrome://settings/content/federatedIdentityApi.
  • Obecnie korzystasz z kilku demonstracyjnych dostawców tożsamości. Postępuj zgodnie z instrukcjami na stronie demonstracyjnej.

Pamiętaj, że aby wypróbować wielu dostawców tożsamości w witrynach, których źródło nie jest zarejestrowane na potrzeby testowania origin, musisz włączyć flagę funkcji w sekcji chrome://flags/#fedcm-multi-idp.

Wypróbuj tę funkcję jako deweloper

Jeśli dostawca logowania ma w RPA pakiet SDK JavaScript (zalecane), dostawca może zaimplementować wywołanie navigator.credentials.get() w celu włączenia wielu dostawców tożsamości, a programiści RP nie będą musieli zmieniać kodu. W przeciwnym razie strona objęta ograniczeniami musi samodzielnie wywoływać interfejs FedCM API.

Aby przetestować wielu dostawców tożsamości w RP, określ tablicę obsługiwanych dostawców w następujący sposób:

try {
  const cred = await navigator.credentials.get({
    identity: {
      providers: [
        {
          configUrl: "https://idp1.example/foo.json", // first IdP
          clientId: "123",
        },
        {
          configUrl: "https://idp2.example/bar.json", // second IdP
          clientId: "456",
        }
      ]
    }
  });

  const token = cred.token;
  const currentConfigFileUrl = cred.configURL;

  if (cred.configURL === 'https://idp1.example/foo.json')  {
    // handle the token for idp1.example
  } else if (cred.configURL === 'https://idp2.example/bar.json') {
    // handle the token for idp2.example
  }
} catch (error) {
  console.error("Error during credential retrieval:", error);
}

Atrybut configURL w wynikowym obiekcie przechowuje adres URL pliku konfiguracji dostawcy tożsamości, u którego użytkownik się uwierzytelnił. RP może określić sposób obsługi wynikowego elementu token, który różni się w zależności od dostawcy tożsamości.

Weź udział w testowaniu origin

Wersje próbne origin pozwalają testować nowe funkcje i przesyłać opinie na temat ich przydatności, praktyczności i skuteczności. Więcej informacji znajdziesz w artykule o pierwszych krokach z testowaniem origin.

Aby wypróbować funkcję wielu dostawców tożsamości, zarejestruj się w testach origin Chrome 128.

Aby wypróbować wielu dostawców tożsamości, RP może zarejestrować swoje źródło i uruchomić własne testowanie źródła. Dostawca tożsamości może też zarejestrować się w celu skorzystania z testu źródła zewnętrznego i udostępnić funkcję wielu dostawców tożsamości dla wszystkich swoich dostawców tożsamości za pomocą pakietów SDK JavaScript.

Aby wziąć udział w testowaniu origin:

  1. Otwórz stronę rejestracji na potrzeby testowania origin interfejsu Multi IdP API.
  2. Kliknij przycisk Zarejestruj i wypełnij formularz, aby poprosić o token.
  3. Aby zarejestrować się w programie testowania origin własnych, wpisz adres punktu początkowego RP w sekcji „Web Origin” . Jeśli chcesz skorzystać z testu źródła innej firmy, wpisz źródło pakietu SDK JavaScript dostawcy tożsamości i sprawdź „Dopasowanie innych firm” .
  4. Kliknij Prześlij.
  5. Podaj wydany token na stronie RP:
    • W przypadku osób korzystających z własnej wersji próbnej origin:
      • Jako metatag w elemencie <head>: <meta http-equiv="origin-trial" content="TOKEN_GOES_HERE">
      • Jako nagłówek HTTP: Origin-Trial: TOKEN_GOES_HERE
    • Użytkownicy korzystający z testów origin innych firm:
      • Przez automatyczne podanie tokena.

Button Mode API w Chrome na Androida

Po początkowym okresie próbnym interfejsu Button Mode API w Chrome na Androida od wersji 128 rozpocznie się faza testowania origin interfejsu Button Mode API. Dzięki interfejsowi Button Mode API dostawcy tożsamości mogą używać interfejsu FedCM API nawet wtedy, gdy ich użytkownicy są zalogowani u dostawcy tożsamości podczas wywoływania interfejsu API. Proces logowania jest inicjowany gestem użytkownika, który lepiej odzwierciedla intencje użytkownika.

W Chrome 128 wprowadziliśmy nową funkcję, która umożliwia dostawcom tożsamości umieszczanie oficjalnej ikony logo RP bezpośrednio w odpowiedzi punktu końcowego metadanych klienta. Ulepsza to interfejs na urządzeniach mobilnych w trybie przycisku.

Podobnie jak w przypadku marki dostawcy tożsamości w pliku konfiguracyjnym ikony RP można skonfigurować po stronie dostawcy tożsamości i zwrócić w odpowiedzi client_metadata_endpoint w ten sposób:

  "privacy_policy_url": "https://rp.example/privacy_policy.html",
  "terms_of_service_url": "https://rp.example/terms_of_service.html",
  "icons": [{
      "url": "https://idp.example/rp-icon.ico",
      "size": 40
   }]
Ikony logo dostawcy tożsamości i RP.
Ikony logo dostawcy tożsamości i RP w interfejsie komunikatu wyświetlanego na urządzeniu mobilnym.

Więcej informacji o obsłudze ikon znajdziesz w dokumentacji dla programistów.

Jeśli użytkownik nie jest jeszcze zalogowany, FedCM prosi go o zalogowanie się u dostawcy tożsamości przy użyciu identyfikatora login_url udostępnionego przez dostawcę tożsamości na karcie niestandardowej Chrome.

Użytkownik loguje się na urządzeniu mobilnym w trybie przycisku.

Jeśli użytkownik ponownie uwierzytelnia się przy użyciu powracającego konta, interfejs komunikatu nie będzie wyświetlany.

Użytkownik loguje się na konto powracające. Interfejs komunikatu nie jest wyświetlany.

Aby zarejestrować się w wersji próbnej origin, zapoznaj się z instrukcjami dotyczącymi Button Mode API na komputerze. Jeśli korzystasz już z okresu próbnego origin na komputerze, ta funkcja będzie automatycznie dostępna w Chrome na Androida od wersji Chrome 128.

Pakiet interfejsu Continuation API dla Chrome na Androida

Od Chrome w wersji 128 pakiet Continuation API będzie dostępny w Chrome na Androida w ramach testowania origin, który nastąpi po zakończeniu pierwszego okresu próbnego na komputerach. Pakiet składa się z wielu funkcji FedCM, takich jak Continuation API, Parameters, Fields API, Wiele adresów configURL i Niestandardowe etykiety kont.

Interfejs Continuation API umożliwia wieloetapowe procesy logowania. Interfejs Parameters API umożliwia przekazywanie dodatkowych parametrów do dostawcy tożsamości. Interfejs Fields API pozwala usłudze RP na żądanie określonych atrybutów konta na potrzeby interfejsu oświadczenia o zbieraniu danych w oknie FedCM. Dodatkowo wiele plików configURL obsługuje wiele plików konfiguracyjnych dostawcy tożsamości, a etykiety kont niestandardowych umożliwiają dostawcom tożsamości dodawanie adnotacji do kont, dzięki czemu dostawcy RP mogą filtrować je według tych etykiet.

Aby dowiedzieć się więcej o pakiecie interfejsu Continuation API, przeczytaj posta na blogu na temat pakietu interfejsu Continuation API na komputery. Aby zarejestrować się w okresie próbnym origin, postępuj zgodnie z tymi instrukcjami. Jeśli korzystasz już z okresu próbnego origin na komputerze, nowe funkcje będą automatycznie dostępne w Chrome na Androida od wersji Chrome 128.

Angażuj odbiorców i dziel się opiniami

Jeśli chcesz podzielić się z nami swoją opinią lub napotkać jakieś problemy, możesz zgłosić problem. Będziemy na bieżąco aktualizować kanoniczny przewodnik dla programistów FedCM oraz zebraną stronę dzienników aktualizacji.