FedCM-Updates: Multi IdP API auf dem Computer, Button Mode API und Continuation Bundle für Ursprungstests von Chrome unter Android

Natalia Markoborodova
Natalia Markoborodova

Ab Chrome 128 startet die Multi-IdP API auf dem Computer einen Ursprungstest, für die Button Mode API und das Continuation Bundle ein Ursprungstest unter Android. Mit der Multi-IdP-Funktion können Entwickler in einem einzigen get()-Aufruf mehrere unterstützte Identitätsanbieter angeben. Die Button Mode API fügt eine neue Benutzeroberfläche hinzu. Mit der Button Mode API können Identitätsanbieter die FedCM API auch dann verwenden, wenn ihre Nutzer beim API-Aufruf keine aktiven IdP-Sitzungen haben. Das Continuation-Bundle besteht aus der Continuation API und der Parameters API, die einen OAuth-Autorisierungsablauf mit einem von einem Identitätsanbieter bereitgestellten Berechtigungsdialog ermöglichen. Das Set enthält auch andere Änderungen wie die Fields API, mehrere configURL und benutzerdefinierte Kontolabels.

Ursprungstest: Multi IdP API

Mit dieser Funktion können Nutzer ein Konto aus einer Reihe unterstützter IdPs auswählen, wodurch RPs von höheren Anmelde- und Registrierungsraten profitieren. Wenn der Nutzer mit mehreren IdPs angemeldet ist, wird er aufgefordert, sich mit einem der IdPs beim RP anzumelden.

Ein Nutzer meldet sich mithilfe der Multi-IdP API über verschiedene IdPs an.

IdPs werden anhand der vorhandenen Konten des Nutzers und der zugehörigen Zeitstempel priorisiert.

  • Wenn sich der Nutzer zuvor mit einem bestimmten Identitätsanbieter bei der RP angemeldet hat (d. h., er hat ein „wiederkehrendes Konto“), werden diese Identitätsanbieter zuerst aufgeführt.
  • Innerhalb der wiederkehrenden Konten werden die Identitätsanbieter nach dem Zeitstempel der letzten Verwendung sortiert. Der zuletzt verwendete Identitätsanbieter wird oben in der Liste angezeigt. In einigen Fällen sind in Chrome möglicherweise keine Zeitstempeldaten für ein wiederkehrendes Konto vorhanden. Das liegt wahrscheinlich daran, dass sich der Nutzer angemeldet hat, bevor Zeitstempelprotokolle in FedCM implementiert wurden. Diese Konten werden unter den Konten mit Zeitstempeln aufgeführt.
  • Wenn der Nutzer keine wiederkehrenden Konten mit IdPs hat, wird die vom RP angegebene Reihenfolge berücksichtigt.

FedCM ermöglicht die automatische erneute Authentifizierung, wenn der Entwickler sie anfordert und wenn es ein einzelnes wiederkehrendes Konto gibt. Wenn bei mehreren Identitätsanbietern wiederkehrende Konten vorhanden sind, wird der Nutzer bei der Multi-IdP-Authentifizierung nicht automatisch noch einmal authentifiziert. Ein wiederkehrendes Konto ist eine wichtige Voraussetzung für die automatische erneute Authentifizierung. Der Browser initiiert die automatische erneute Authentifizierung nur, wenn der Browser das Konto explizit erkannt hat. Das bedeutet, dass der Nutzer FedCM bereits mit diesem Konto auf dieser RP verwendet haben muss.

Wenn der Anmeldestatus des Nutzers für einen Identitätsanbieter auf „Abgemeldet“ gesetzt ist, werden beim Aufrufen des FedCM keine Konten für diesen Identitätsanbieter abgerufen. Wenn der Nutzerstatus für alle verfügbaren IdPs abgemeldet ist, wird die FedCM-Anmeldeaufforderung ebenfalls nicht automatisch im Widget-Modus angezeigt.

Wenn der im Browser für einen IdP gespeicherte Anmeldestatus zwar angemeldet war, aber bei der Abrufanfrage keine Konten für diesen IdP zurückgegeben wurden (z. B. wenn die Nutzersitzung abgelaufen ist, der Anmeldestatus aber noch nicht vom Browser aktualisiert wurde), wird die nicht übereinstimmende Benutzeroberfläche für den IdP angezeigt und der Nutzer wird vorgeschlagen, sich mit dem nicht übereinstimmenden IdP anzumelden.

Wenn der Anmeldestatus des Nutzers „Angemeldet“ ist, die Sitzung aber abgelaufen ist, wird die Benutzeroberfläche für die Abweichung angezeigt.

Weitere Informationen zum Anmeldestatus finden Sie in der Dokumentation. Weitere Informationen zur Implementierung finden Sie im Entwicklerleitfaden.

Ursprungstest: Multi IdP API

Sie können die Multi IdP API als Nutzer auf der Demo-RP oder als Entwickler mit Chrome 128 oder höher ausprobieren.

Als Nutzer testen

Probieren Sie es selbst als Nutzer aus. Prüfen Sie Folgendes:

  • Chrome ist nicht so konfiguriert, dass Anmeldeaufforderungen von Drittanbietern auf der Seite chrome://settings/content/federatedIdentityApi blockiert werden.
  • Sie sind in mehreren Demo-IdPs angemeldet. Folgen Sie der Anleitung auf der Demoseite.

Wenn Sie den Multi-IdP auf Websites testen möchten, deren Ursprung nicht für den Ursprungstest registriert ist, müssen Sie das Funktions-Flag unter chrome://flags/#fedcm-multi-idp aktivieren.

Als Entwickler testen

Wenn ein Anmeldeanbieter ein JavaScript-SDK in die RP eingebettet hat (empfohlen), kann der navigator.credentials.get()-Aufruf zum Aktivieren mehrerer Identitätsanbieter vom Anbieter implementiert werden und die RP-Entwickler müssen ihren Code nicht ändern. Andernfalls muss der RP die FedCM API selbst aufrufen.

Wenn Sie die Multi-IdPs auf einem RP testen möchten, geben Sie das Array der unterstützten Anbieter so an:

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);
}

Das Attribut configURL im resultierenden Objekt speichert die URL der Konfigurationsdatei für den IdP, mit dem sich der Nutzer authentifiziert hat. Der RP kann bestimmen, wie mit der resultierenden token umgegangen werden soll, da diese je nach IdP unterschiedlich ist.

Am Ursprungstest teilnehmen

Mit Ursprungstests kannst du neue Funktionen ausprobieren und Feedback zu ihrer Nutzerfreundlichkeit, Praktikabilität und Wirksamkeit geben. Weitere Informationen finden Sie im Hilfeartikel Erste Schritte mit Ursprungstests.

Sie können die Funktion „Mehrere Identitätsanbieter“ testen, indem Sie sich ab Chrome 128 für die Ursprungstests registrieren.

Um Multi-IdP zu testen, kann ein RP seinen Ursprung registrieren und einen Test mit selbst erhobenen Daten ausführen. Der IdP kann sich auch für einen Ursprungstest durch Drittanbieter registrieren und die Multi-IdP-Funktion für alle RPs mit JavaScript SDKs verfügbar machen.

Schritte zur Teilnahme am Ursprungstest:

  1. Rufen Sie die Registrierungsseite für den Multi-IdP API-Ursprungstest auf.
  2. Klicken Sie auf die Schaltfläche Registrieren und füllen Sie das Formular aus, um ein Token anzufordern.
  3. Wenn Sie sich für einen Erstanbieter-Ursprungstest registrieren möchten, geben Sie den Ursprung des RP in das Feld „Web-Ursprung“ ein. Geben Sie bei einem Drittanbieter-Ursprungstest die Quelle des JavaScript SDK des IdP ein und klicken Sie das Kästchen „Drittanbieter-Abgleich“ an.
  4. Klicken Sie auf Senden.
  5. Gib das ausgestellte Token auf der RP-Seite an:
    • Für Teilnehmer am Test für selbst erhobenen Ursprungsdaten:
      • Als Meta-Tag in der <head>: <meta http-equiv="origin-trial" content="TOKEN_GOES_HERE">
      • Als HTTP-Header: Origin-Trial: TOKEN_GOES_HERE
    • Für Teilnehmer von Ursprungstests von Drittanbietern:
      • Durch programmatische Bereitstellung eines Tokens.

Button Mode API für Chrome auf Android

Ab Chrome-Version 128 beginnt der Ursprungstest der Button Mode API in Chrome für Android, nachdem der Test auf dem Computer abgeschlossen wurde. Mit der Button Mode API können Identitätsanbieter die FedCM API auch dann verwenden, wenn ihre Nutzer beim API-Aufruf vom IdP abgemeldet sind. Der Anmeldevorgang wird durch eine Nutzergeste initiiert, was die Absicht des Nutzers besser widerspiegelt.

In Chrome 128 wird eine neue Funktion eingeführt, mit der IdPs das offizielle Logosymbol des RP direkt in die Antwort des Client-Metadaten-Endpunkts einfügen können. Dadurch wird die Benutzeroberfläche auf Mobilgeräten im Schaltflächenmodus verbessert.

Ähnlich wie das IdP-Branding in der Konfigurationsdatei können die Symbole des RP auf der IdP-Seite konfiguriert und in der client_metadata_endpoint-Antwort wie unten beschrieben zurückgegeben werden:

  "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
   }]
Logosymbole des Identitätsanbieters und des RP.
Logosymbole des IdP und des RP in der Benutzeroberfläche zur Offenlegung auf Mobilgeräten.

Weitere Informationen zur Unterstützung von Symbolen finden Sie in der Entwicklerdokumentation.

Wenn der Nutzer noch nicht angemeldet ist, wird er von FedCM aufgefordert, sich über einen benutzerdefinierten Chrome-Tab (CCT) mit der vom Identitätsanbieter bereitgestellten login_url beim Identitätsanbieter anzumelden.

Ein Nutzer meldet sich auf einem Mobilgerät über den Schaltflächenmodus an.

Wenn sich der Nutzer mit einem wiederkehrenden Konto noch einmal authentifiziert, wird die Benutzeroberfläche für die Offenlegung nicht angezeigt.

Ein Nutzer meldet sich mit einem Konto an, das er schon einmal verwendet hat. Die Benutzeroberfläche für Offenlegungen wird nicht angezeigt.

Eine Anleitung zur Registrierung für den Ursprungstest findest du in der Anleitung für die Button Mode API auf dem Computer. Wenn Sie sich auf dem Computer bereits für den Ursprungstest registriert haben, ist die Funktion ab Chrome 128 automatisch in Chrome unter Android verfügbar.

Continuation API-Bundle für Chrome unter Android

Ab Chrome-Version 128 ist das Continuation API-Bundle für Chrome unter Android im Rahmen eines Ursprungstests verfügbar, nachdem der erste Testzeitraum auf einem Computer abgeschlossen wurde. Das Paket besteht aus mehreren FedCM-Funktionen, darunter die Continuation API, die Parameters API, die Fields API, mehrere configURLs und benutzerdefinierte Kontolabels.

Die Continuation API ermöglicht mehrstufige Anmeldevorgänge. Mit der Parameters API können zusätzliche Parameter an den IdP übergeben werden. Über die Fields API kann der RP bestimmte Kontoattribute für die Offenlegungs-UI im FedCM-Dialog anfordern. Darüber hinaus unterstützen mehrere configURL mehrere Konfigurationsdateien für einen IdP. Mit benutzerdefinierten Kontolabels können IdPs außerdem Konten annotieren, damit RPs sie nach diesen Labels filtern können.

Weitere Informationen zum Continuation API-Bundle finden Sie im Blogpost Continuation API-Bundle auf dem Computer. Folge dieser Anleitung, um dich für den Origin-Testzeitraum zu registrieren. Wenn Sie sich bereits für den ursprünglichen Test auf dem Computer registriert haben, sind die Funktionen ab Chrome 128 automatisch für Sie in Chrome auf Android-Geräten verfügbar.

Interagieren und Feedback geben

Wenn Sie Feedback haben oder Probleme auftreten, können Sie ein Problem melden. Wir halten den kanonischen FedCM-Entwicklerleitfaden und die Seite mit den zusammengefassten Updateprotokollen auf dem neuesten Stand.