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

Od wersji Chrome 128 interfejs Multi-IdP API rozpoczyna testowanie origin na komputerach, a interfejsy Button Mode APIContinuation Bundle – na urządzeniach z Androidem. Dzięki funkcji Multi IdP 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 interfejsów Continuation API i Parameters API, które umożliwiają korzystanie z procesu autoryzacji OAuth z użyciem okna dialogowego z uprawnieniami IdP. Pakiet obejmuje też inne zmiany, takie jak interfejs Fields API, Multiple 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 z zestawu obsługiwanych dostawców tożsamości, a dostawcy usług rejestracji i logowania mogą korzystać z wyższych wskaźników logowania i rejestracji. Jeśli użytkownik jest zalogowany w kilku dostawcach tożsamości, zostanie poproszony o zalogowanie się w usługach dostawcy tożsamości przy użyciu jednego z nich.

Użytkownik loguje się za pomocą 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 logował się wcześniej w usłudze RP za pomocą konkretnego dostawcy tożsamości (czyli ma „powracające konto”), dostawcy tożsamości będą wyświetlane jako pierwsze.
  • W przypadku powracających kont dostawcy tożsamości są sortowani według sygnatury czasowej ostatniego użycia, a na szczycie listy znajduje się ostatnio używany dostawca tożsamości. W niektórych przypadkach Chrome może nie mieć danych z nazwą czasu dla powracającego konta. Prawdopodobnie dlatego, że użytkownik zalogował się przed wdrożeniem w FedCM dzienników z datą i godziną. Te konta są wymienione poniżej tych, które mają sygnatury czasowe.
  • Jeśli użytkownik nie ma żadnych powracających kont w żadnym dostawcy tożsamości, obowiązuje kolejność podana przez RP.

FedCM umożliwia automatyczne ponowne uwierzytelnianie, jeśli deweloper tego zażąda i jeśli jest tylko jedno powracające konto. W przypadku dostawcy tożsamości Multi IdP, jeśli istnieją konta powracające dla wielu dostawców tożsamości, użytkownik nie zostanie automatycznie ponownie uwierzytelniony. 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 stan logowania zapisany w przeglądarce dla dostawcy tożsamości wskazuje, że użytkownik jest zalogowany, ale żądanie pobierania nie zwraca żadnych kont dla tego dostawcy (np. gdy sesja użytkownika wygasła, ale stan logowania nie został jeszcze zaktualizowany przez przeglądarkę), dla tego dostawcy tożsamości wyświetlane jest interfejs niezgodności, który sugeruje użytkownikowi zalogowanie się za pomocą tego dostawcy.

Gdy stan logowania użytkownika to „Zalogowany”, ale sesja wygasła, wyświetla się interfejs niezgodności.

Więcej informacji o stanie logowania znajdziesz w dokumentacji. Więcej informacji o wdrożeniu znajdziesz w przewodniku dla programistów.

Testowanie origin: interfejs Multi IdP API

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:

  • Chrome nie jest skonfigurowany tak, aby blokować prośby o logowanie się w usłudze innej firmy na stronie: chrome://settings/content/federatedIdentityApi.
  • Obecnie korzystasz z kilku demonstracyjnych dostawców tożsamości. Postępuj zgodnie z instrukcjami na stronie demonstracyjnej.

Aby wypróbować usługę Multi-IdP w witrynach, których pochodzenie nie jest zarejestrowane w ramach wersji próbnej pochodzenia, musisz włączyć flagę funkcji w sekcji chrome://flags/#fedcm-multi-idp.

Wypróbuj jako deweloper

Jeśli dostawca logowania ma wbudowany pakiet SDK JavaScript w aplikacji RP (zalecane), może on zaimplementować wywołanie navigator.credentials.get(), aby umożliwić korzystanie z wielu dostawców tożsamości, a deweloperzy aplikacji RP nie muszą zmieniać kodu. W przeciwnym razie strona objęta ograniczeniami musi samodzielnie wywoływać interfejs FedCM API.

Aby przetestować usługę Multi IdP na RP, określ tablicę obsługiwanych dostawców w ten 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 postępowania z uzyskanym token, ponieważ różni się on 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 narzędzie do testowania origin. 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 RP przy użyciu pakietów SDK JavaScript.

Aby wziąć udział w testowaniu origin:

  1. Otwórz stronę rejestracji wersji próbnej interfejsu Multi IdP API.
  2. Aby poprosić o token, kliknij przycisk Zarejestruj się i wypełnij formularz.
  3. Aby zarejestrować się w ramach okresu próbnego w przypadku punktu początkowego zewnętrznego, w polu „Punkt początkowy w internecie” wpisz punkt początkowy zewnętrzny. W przypadku testu pochodzenia od zewnętrznego dostawcy wpisz pochodzenie pakietu SDK JavaScript IdP i zaznacz pole „Dopasowywanie do zewnętrznego dostawcy”.
  4. Kliknij Prześlij.
  5. Podaj wygenerowany token na stronie RP:
    • W przypadku osób korzystających z własnych wersji testowania origin:
      • Jako metatag w elemencie <head>: <meta http-equiv="origin-trial" content="TOKEN_GOES_HERE">
      • Jako nagłówek HTTP: Origin-Trial: TOKEN_GOES_HERE
    • Uczestnicy testów wersji próbnej pochodzącej z zewnętrznego źródła:
      • Przez automatyczne podanie tokena.

Interfejs ButtonMode 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 API w trybie przycisku dostawcy tożsamości mogą używać interfejsu FedCM API, nawet jeśli ich użytkownicy są wylogowani z dostawcy tożsamości w momencie wywołania interfejsu API. Proces logowania jest inicjowany gestem użytkownika, który lepiej odzwierciedla intencje użytkownika.

W Chrome 128 wprowadzono nową funkcję, która umożliwia dostawcom tożsamości dołączanie oficjalnej ikony logo dostawcy żądań bezpośrednio w odpowiedzi punktu końcowego metadanych klienta. Ulepsza 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 reklamodawcy w interfejsie powiadomienia na urządzeniach mobilnych.

Więcej informacji o obsługiwanych ikonach znajdziesz w dokumentacji dla deweloperów.

Jeśli użytkownik nie jest jeszcze zalogowany, FedCM poprosi go o zalogowanie się w usłudze dostawcy tożsamości za pomocą login_url udostępnionego przez tego dostawcę na karcie niestandardowej w Chrome.

Użytkownik loguje się za pomocą trybu przycisku na urządzeniu mobilnym.

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, z którego korzystał wcześniej. Interfejs komunikatu nie jest wyświetlany.

Aby zarejestrować się w ramach okresu próbnego, zapoznaj się z instrukcjami dotyczącymi interfejsu 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 w Chrome na Androida

Od wersji 128 Chrome pakiet Continuation API będzie dostępny w Chrome na Androida w ramach testowania origin, po wstępnej wersji próbnej 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 API parametrów umożliwia przekazywanie dodatkowych parametrów do dostawcy tożsamości. Interfejs Fields API umożliwia partnerowi rezerwacji wysyłanie żądań dotyczących konkretnych atrybutów konta w celu wyświetlenia interfejsu użytkownika do celów powiadomień w ramach FedCM. Dodatkowo Multiple configURL obsługuje wiele plików konfiguracji dla dostawcy tożsamości, a etykiety kont umożliwiają dostawcom tożsamości dodawanie adnotacji do kont, aby dostawcy ról mogli je filtrować 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 bezpłatnym okresie próbnym, wykonaj te instrukcje. 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 aktualizować kanoniczny przewodnik dla deweloperów FedCM oraz gromadzone logi aktualizacji.