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 Androidzie. Dzięki funkcji Multi IdP deweloperzy mogą określić tablicę wielu obsługiwanych dostawców tożsamości w pojedynczym wywołaniu get(). Interfejs API trybu przycisku dodaje nowy interfejs użytkownika. Dzięki interfejsowi API w trybie przycisku dostawcy tożsamości mogą korzystać z interfejsu FedCM API, nawet jeśli ich użytkownicy nie mają aktywnych sesji dostawcy tożsamości w momencie wywołania 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 oknem dialogowym uprawnień udostępnianym przez dostawcę IdP. Pakiet obejmuje też inne zmiany, takie jak interfejs Fields API, Multiple configURL i niestandardowe etykiety kont.

Testowanie origin: interfejs Multi IdP API

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 usługach dostawców tożsamości, zostanie poproszony o zalogowanie się w usłudze RP za pomocą jednej z nich.

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

Usługodawcy tożsamości są priorytetowo traktowani na podstawie istniejących kont użytkownika i powiązanych z nimi sygnatur czasowych.

  • Jeśli użytkownik zalogował się wcześniej w usłudze RP przy użyciu 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ą powracające konta dla wielu dostawców tożsamości, użytkownik nie zostanie automatycznie ponownie uwierzytelniony. Aby automatyczne ponowne uwierzytelnianie działało prawidłowo, konto musi być używane przez dłuższy czas. 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 tym konkretnym RP.

Jeśli stan logowania użytkownika w przypadku dostawcy tożsamości jest ustawiony na „Wylogowany”, wywołanie FedCM nie pobiera kont tego dostawcy. Podobnie, jeśli użytkownik jest wylogowany ze wszystkich dostępnych dostawców tożsamości, prompt logowania FedCM nie jest wyświetlany 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

Interfejs Multi IdP API możesz wypróbować jako użytkownik w demo RP lub jako deweloper w Chrome 128 lub nowszej wersji.

Wypróbuj jako użytkownik

Wypróbuj to samodzielnie jako użytkownik. Sprawdź, czy:

  • Chrome nie jest skonfigurowany tak, aby blokować prośby o logowanie się w usługach innych firm na stronie: chrome://settings/content/federatedIdentityApi.
  • Jesteś zalogowany(-a) w kilku demonstracyjnych usług uwierzytelniających. Postępuj zgodnie z instrukcjami na stronie wersji 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), dostawca może zaimplementować wywołanie navigator.credentials.get(), aby włączyć obsługę wielu dostawców tożsamości, a deweloperzy aplikacji RP nie muszą zmieniać kodu. W przeciwnym razie RP musi samodzielnie wywołać 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 wynikającym obiekcie przechowuje adres URL pliku konfiguracji dostawcy tożsamości, za pomocą którego użytkownik się uwierzytelnił. RP może określić, jak ma być obsługiwany uzyskany token, ponieważ może się on różnić w zależności od dostawcy tożsamości.

Udział w okresie próbnym usługi pochodzenia

Wersje próbne Origin umożliwiają wypróbowanie nowych funkcji i podzielenie się opinią na temat ich użyteczności, praktyczności i skuteczności. Więcej informacji znajdziesz w artykule Pierwsze kroki z testami pochodzenia.

Funkcję Multi IdP możesz wypróbować, rejestrując się w testach wersji źródłowej od wersji Chrome 128.

Aby wypróbować usługę Multi IdP, RP może zarejestrować swoje źródło i przeprowadzić test źródła danych własnego. Dostawca tożsamości może też zarejestrować się w ramach testu pochodzenia zewnętrznego i uzyskać dostęp do funkcji Multi IdP dla wszystkich swoich RP korzystających z pakietów SDK JavaScript.

Aby wziąć udział w testach wersji próbnej:

  1. Otwórz stronę rejestracji, aby przetestować interfejs API Multi IdP.
  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:
    • Uczestnicy okresu próbnego wersji oryginalnej:
      • Jako metatag w sekcji <head>: <meta http-equiv="origin-trial" content="TOKEN_GOES_HERE">
      • Jako nagłówek HTTP: Origin-Trial: TOKEN_GOES_HERE
    • Uczestnicy okresu próbnego z dostawcy zewnętrznego:
      • Przekazując token automatycznie.

Interfejs ButtonMode API w Chrome na Androida

W wersji 128 Chrome rozpocznie się testowanie origin interfejsu Button Mode API w Chrome na Androidzie. Poprzedzało je testowanie na komputerach. 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 przez użytkownika, co lepiej odzwierciedla jego intencję.

W Chrome 128 wprowadzamy nową funkcję, która pozwala dostawcom tożsamości dołączać oficjalną ikonę logo dostawcy RP bezpośrednio w odpowiedzi punktu końcowego metadanych klienta. Ułatwia to korzystanie z interfejsu na urządzeniach mobilnych w trybie przycisków.

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 reprezentanta klienta.
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ę w trybie przycisków na urządzeniu mobilnym.

Jeśli użytkownik ponownie uwierzytelnia się na tym samym koncie, interfejs wyświetlania informacji nie będzie widoczny.

Użytkownik loguje się na konto, z którego wcześniej korzystał. Nie wyświetla się interfejs wyświetlania informacji.

Aby zarejestrować się w ramach okresu próbnego, zapoznaj się z instrukcjami dotyczącymi korzystania z interfejsu Button Mode API na komputerze. Jeśli masz już subskrypcję Origin na komputerze, ta funkcja będzie automatycznie dostępna w Chrome na Androidzie od wersji 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 obejmuje wiele funkcji FedCM, w tym Continuation API, Parameters API, Fields API, Multiple configURLsCustom Account Labels.

Interfejs Continuation API umożliwia tworzenie wieloetapowych procesów 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 konfiguracyjnych dla dostawcy tożsamości, a etykiety kont niestandardowych umożliwiają dostawcom tożsamości dodawanie adnotacji do kont, aby dostawcy ról mogli je filtrować według tych etykiet.

Więcej informacji o pakiecie interfejsu Continuation API znajdziesz w poście na blogu dotyczącym pakietu interfejsu Continuation API na komputery. Aby zarejestrować się w bezpłatnym okresie próbnym, wykonaj te instrukcje. Jeśli masz już subskrypcję wersji próbnej na komputerze, te funkcje będą automatycznie dostępne w Chrome na Androidzie od wersji 128.

Zaangażowanie i przesyłanie opinii

Jeśli chcesz podzielić się opinią lub napotkasz problemy, możesz zgłosić problem. Będziemy aktualizować kanoniczny przewodnik dla deweloperów FedCM oraz gromadzone logi aktualizacji.