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 ein Array aus mehreren unterstützten Identitätsanbietern angeben. Mit der Button Mode API wurde eine neue Benutzeroberfläche hinzugefügt. 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 eine OAuth-Autorisierungsabfolge mit einem vom IdP bereitgestellten Berechtigungsdialogfeld 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.

<ph type="x-smartling-placeholder">
</ph> <ph type="x-smartling-placeholder">
Ein Nutzer meldet sich über die Multi-IdP-API mit verschiedenen IdPs an.

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

  • Wenn sich der Nutzer zuvor mit einem bestimmten IdP im RP angemeldet hat (weil er ein „wiederkehrendes Konto“) hat, werden diese IdPs zuerst aufgeführt.
  • In den wiederkehrenden Konten sind die IdPs weiter nach dem Zeitstempel ihrer letzten Verwendung sortiert, wobei der zuletzt verwendete IdP ganz oben in der Liste angezeigt wird. In einigen Fällen hat Chrome möglicherweise keine Zeitstempeldaten für ein wiederkehrendes Konto. Das liegt wahrscheinlich daran, dass sich der Nutzer angemeldet hat, bevor Zeitstempelprotokolle in FedCM implementiert wurden. Diese Konten sind 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 für mehrere IdPs vorhanden sind und wiederkehrende Konten vorhanden sind, wird der Nutzer nicht automatisch neu 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 IdP auf „Abgemeldet“ gesetzt ist, werden beim Aufrufen von FedCM keine Konten für diesen IdP 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.

<ph type="x-smartling-placeholder">
</ph> <ph type="x-smartling-placeholder">
Wenn der Anmeldestatus des Nutzers angemeldet ist, die Sitzung aber abgelaufen ist, wird die nicht übereinstimmende Benutzeroberfläche 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 ausprobieren

Probieren Sie es selbst aus als Nutzer. 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. Folge 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 ausprobieren

Wenn ein Anmeldeanbieter ein JavaScript SDK im RP eingebettet hat (empfohlen), kann der navigator.credentials.get()-Aufruf zur Aktivierung mehrerer IdPs vom Anbieter implementiert werden. Die RP-Entwickler müssen dann ihren Code nicht ändern. Andernfalls muss der RP die FedCM API selbst aufrufen.

Wenn Sie mehrere 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 können Sie neue Funktionen ausprobieren und Feedback zu ihrer Nutzerfreundlichkeit, Funktionalität und Effektivität geben. Weitere Informationen finden Sie unter Erste Schritte mit Ursprungstests.

Sie können die Multi-IdP-Funktion testen, indem Sie sich ab Chrome 128 für die Ursprungstests registrieren.

Wenn Sie mehrere IdPs testen möchten, kann ein RP seinen Ursprung registrieren und einen Erstanbieter-Ursprungstest 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 Ursprungstest der Multi IdP API 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 „Web Origin“ ein 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: <ph type="x-smartling-placeholder">
      </ph>
    • Für Teilnehmer von Ursprungstests mit selbst erhobenen Daten: <ph type="x-smartling-placeholder">
        </ph>
      • Als Meta-Tag im <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: <ph type="x-smartling-placeholder">
        </ph>
      • Durch programmatisches Bereitstellen eines Tokens

Button Mode API für Chrome unter Android

Ab Chrome-Version 128 startet der Ursprungstest der Button Mode API in Chrome unter Android nach dem Testzeitraum auf dem Computer. 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 eingeleitet, die die Absicht des Nutzers besser widerspiegelt.

In Chrome 128 wird eine neue Funktion eingeführt, mit der IdPs das offizielle Logo des RP direkt in die Antwort des Clientmetadatenendpunkts aufnehmen können. Dadurch wird die Benutzeroberfläche auf Mobilgeräten im Schaltflächenmodus verbessert.

Ähnlich wie beim IdP-Branding in der Konfigurationsdatei können die Symbole des RP auf der Seite des IdP konfiguriert und in der client_metadata_endpoint-Antwort so 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 von IdP und RP
Symbole des IdP und des RP in der Offenlegungs-UI 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 mit der login_url, die vom IdP über einen benutzerdefinierten Chrome-Tab (CCT) bereitgestellt wird, beim IdP anzumelden.

<ph type="x-smartling-placeholder">
</ph> <ph type="x-smartling-placeholder">
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.

<ph type="x-smartling-placeholder">
</ph> <ph type="x-smartling-placeholder">
Ein Nutzer meldet sich mit einem wiederkehrenden Konto an. Die Benutzeroberfläche zur Offenlegung wird nicht angezeigt.

Informationen zur Registrierung für den Ursprungstest finden Sie 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. Mit der Fields API können über die RP im FedCM-Dialogfeld bestimmte Kontoattribute für die Offenlegung über die Benutzeroberfläche angefordert werden. 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 zum Continuation API-Bundle auf dem Computer. Folgen Sie dieser Anleitung, um sich für den Ursprungstest zu registrieren. Wenn Sie sich auf dem Computer bereits für den Ursprungstest registriert haben, sind die Funktionen ab Chrome 128 automatisch in Chrome unter Android 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.