In diesem Leitfaden wird die Verwendung von FedCM APIs durch die Google Sign-in-Plattformbibliothek beschrieben. Unter anderem werden die Zeitachse und die nächsten Schritte für ein abwärtskompatibles Update der Bibliothek, die Durchführung einer Wirkungsanalyse und die Überprüfung der Nutzeranmeldung weiterhin wie erwartet funktionieren, sowie bei Bedarf Anleitungen zum Aktualisieren Ihrer Web-App. Optionen zum Verwalten der Übergangsphase und dazu, wie Sie Hilfe aufrufen, werden ebenfalls behandelt.
Status der Bibliothek
Neue Webanwendungen können die eingestellte Plattformbibliothek für die Google Sign-in-Plattform nicht mehr verwenden. Apps, die die Bibliothek bereits nutzen, können dies bis auf Weiteres tun. Ein endgültiges Enddatum für die Einstellung der Bibliothek wurde noch nicht festgelegt. Weitere Informationen finden Sie unter Einstellung des Supports und Einstellung der Dienste.
Durch ein abwärtskompatibles Update werden der Google Sign-In-Bibliothek FedCM APIs hinzugefügt. Die meisten Änderungen sind nahtlos. Durch das Update gibt es jedoch Unterschiede bei Aufforderungen an Nutzer, der Permissions Policy für iframes und der Content Security Policy (CSP). Diese Änderungen können sich auf Ihre Webanwendung auswirken und erfordern Änderungen am Anwendungscode und der Websitekonfiguration.
Während der Übergangsphase wird mit einer Konfigurationsoption festgelegt, ob FedCM APIs bei der Nutzeranmeldung verwendet werden.
Nach der Übergangsphase sind FedCM APIs für alle Webanwendungen obligatorisch, die die Google Log-in-Bibliothek verwenden.
Zeitachse
Letzte Aktualisierung: September 2024
Hier sind die Termine und Änderungen, die sich auf das Anmeldeverhalten von Nutzern auswirken:
- März 2023: Einstellung der Unterstützung für die Google Sign-in-Plattformbibliothek.
- Die Übergangsphase im Juli 2024 beginnt und die Google Sign-in-Plattformbibliothek wird um die Unterstützung für FedCM APIs erweitert. Standardmäßig steuert Google den Prozentsatz der Anmeldeanfragen von Nutzern über FedCM während dieser Zeit. Web-Apps können dieses Verhalten mit dem Parameter
use_fedcm
explizit überschreiben. - März 2025: Einführung der FedCM APIs in der Google Sign-in-Plattformbibliothek. Danach wird der Parameter
use_fedcm
ignoriert und alle Anfragen zur Nutzeranmeldung nutzen FedCM.
Nächste Schritte
Sie haben drei Möglichkeiten:
- Führen Sie eine Folgenabschätzung durch und aktualisieren Sie Ihre Webanwendung bei Bedarf. Bei diesem Ansatz wird geprüft, ob Funktionen verwendet werden, die Änderungen an Ihrer Webanwendung erfordern. Eine Anleitung dazu finden Sie im nächsten Abschnitt dieses Leitfadens.
- Wechseln Sie zur Google Identity Services-Bibliothek (GIS). Es wird dringend empfohlen, zur neuesten und unterstützten Anmeldebibliothek zu wechseln. Folgen Sie dazu dieser Anleitung.
- Nichts unternehmen: Ihre Webanwendung wird automatisch aktualisiert, wenn die Google Log-in-Bibliothek für die Nutzeranmeldung zu FedCM APIs verschoben wird. Das ist zwar die geringste Arbeit, es besteht jedoch das Risiko, dass sich Nutzer nicht in Ihrer Webanwendung anmelden können.
Folgenabschätzung durchführen
Befolge diese Anleitung, um festzustellen, ob deine Webanwendung durch ein abwärtskompatibles Update nahtlos aktualisiert werden kann oder ob Änderungen erforderlich sind, damit sich Nutzer nicht anmelden können, wenn die Google Log-in-Plattformbibliothek FedCM APIs vollständig unterstützt.
Einrichtung
Browser-APIs und die neueste Version der Plattformbibliothek von Google Log-in sind erforderlich, um FedCM bei der Nutzeranmeldung zu verwenden.
Bevor Sie fortfahren, sollten Sie Folgendes beachten:
- Aktualisieren Sie Chrome auf die neueste Version. Chrome für Android benötigt die Version M128 oder höher und kann nicht mit früheren Versionen getestet werden.
Öffnen Sie
chrome://flags
und legen Sie für die folgenden Funktionen die folgenden Werte fest:- #fedcm-authz aktiviert
- #tracking-protection-3pcd Aktiviert
- #third-party-cookie-deprecation-trial Deaktiviert
- #tpcd-metadata-grants Deaktiviert
- #tpcd-heuristics-grants Deaktiviert
und starten Sie Chrome neu.
Legen Sie
use_fedcm
auftrue
fest, wenn Sie die Plattformbibliothek für die Google Sign-in-Plattform in Ihrer Webanwendung initialisieren. Normalerweise sieht die Initialisierung so aus:gapi.client.init({use_fedcm: true})
odergapi.auth2.init({use_fedcm: true})
odergapi.auth2.authorize({use_fedcm: true})
.
Entwerten Sie die im Cache gespeicherten Versionen der Google Sign-in-Plattformbibliothek. Normalerweise ist dieser Schritt nicht erforderlich, da die neueste Version der Bibliothek direkt in den Browser heruntergeladen wird, indem
api.js
,client.js
oderplatform.js
in ein<script src>
-Tag eingefügt wird. In der Anfrage kann einer dieser Bundle-Namen für die Bibliothek verwendet werden.Bestätigen Sie die OAuth-Einstellungen für Ihre OAuth-Client-ID:
- Öffnen Sie die Seite „Anmeldedaten“ der Google API Console
Prüfen Sie, ob die URI Ihrer Website in Autorisierte JavaScript-Quellen enthalten ist. Der URI enthält nur das Schema und den voll qualifizierten Hostnamen. Beispiel:
https://www.example.com
.Optional können Anmeldedaten auch über eine Weiterleitung an einen von Ihnen gehosteten Endpunkt statt über einen JavaScript-Callback zurückgegeben werden. Prüfen Sie in diesem Fall, ob Ihre Weiterleitungs-URIs in Autorisierte Weiterleitungs-URIs enthalten sind. Weiterleitungs-URIs enthalten das Schema, den voll qualifizierten Hostnamen und den Pfad und müssen den Gültigkeitsregeln für Weiterleitungs-URIs entsprechen. Beispiel:
https://www.example.com/auth-receiver
.
Test
Nachdem Sie der Anleitung zur Einrichtung gefolgt sind:
- Schließen Sie alle vorhandenen Chrome-Inkognitofenster und öffnen Sie ein neues Inkognitofenster. Dadurch werden alle im Cache gespeicherten Inhalte und Cookies gelöscht.
- Laden Sie die Anmeldeseite des Nutzers und versuchen Sie, sich anzumelden.
Folgen Sie der Anleitung in diesen Abschnitten dieses Leitfadens, um bekannte Probleme zu identifizieren und zu beheben:
Suchen Sie in der Console nach Fehlern oder Warnungen im Zusammenhang mit der Google Sign-in-Bibliothek.
Wiederholen Sie diesen Vorgang, bis keine Fehler mehr auftreten und Sie sich anmelden können. Sie können eine erfolgreiche Anmeldung bestätigen, indem Sie bestätigen, dass
BasicProfile.getEmail()
Ihre E-Mail-Adresse zurückgibt und dassGoogleUser.isSignedIn()
True
ist.
Anfrage an die Google Sign-in-Bibliothek aufrufen
Prüfen Sie, ob Änderungen an der permissions-policy und der Content Security Policy erforderlich sind. Sehen Sie sich dazu die Anfrage für die Google Sign-in-Plattformbibliothek an. Suchen Sie dazu die Anfrage anhand des Namens und des Ursprungs der Bibliothek:
- Öffnen Sie in Chrome den Bereich Netzwerk in den Entwicklertools und aktualisieren Sie die Seite.
- Verwenden Sie die Werte in den Spalten Domain und Name, um die Bibliotheksanfrage zu finden:
- Domain ist
apis.google.com
und - Der Name ist entweder
api.js
,client.js
oderplatform.js
. Der genaue Wert von „Name“ hängt vom vom Dokument angeforderten Bibliothekspaket ab.
- Domain ist
Filtern Sie beispielsweise in der Spalte Domain nach apis.google.com
und in der Spalte Name nach platform.js
.
iFrame-Berechtigungsrichtlinie prüfen
Auf Ihrer Website wird möglicherweise die Google Log-in-Plattformbibliothek in einem ursprungsübergreifenden iFrame verwendet. In diesem Fall ist ein Update erforderlich.
Nachdem Sie der Anleitung zum Suchen der Google Sign-in-Bibliotheksanfrage gefolgt sind, wählen Sie die Google Sign-in-Bibliotheksanfrage im DevTools-Bereich Netzwerk aus und suchen Sie auf dem Tab Header im Bereich Anfrageheader nach dem Header Sec-Fetch-Site
. Wenn der Wert des Headers:
same-site
odersame-origin
, gelten keine richtlinien für unterschiedliche Ursprünge und es sind keine Änderungen erforderlich.cross-origin
Änderungen können erforderlich sein, wenn ein Iframe verwendet wird.
So prüfen Sie, ob ein Iframe vorhanden ist:
- Wählen Sie in den Chrome-Entwicklertools den Bereich Elemente aus.
- Mit Strg + F können Sie im Dokument nach einem Iframe suchen.
Wenn ein Iframe gefunden wird, prüfen Sie das Dokument auf Aufrufe von gapi.auth2-Funktionen oder script src
-Direktiven, die die Google Sign-in-Bibliothek im Iframe laden. Trifft das auf Sie zu, haben Sie folgende Möglichkeiten:
- Fügen Sie die Berechtigungsrichtlinie
allow="identity-credentials-get"
dem übergeordneten Iframe hinzu.
Wiederholen Sie diesen Vorgang für alle iFrames im Dokument. iFrames können verschachtelt sein. Achten Sie daher darauf, die „allow“-Anweisung zu allen umgebenden übergeordneten iFrames hinzuzufügen.
Content Security Policy prüfen
Wenn für deine Website eine Content Security Policy verwendet wird, musst du möglicherweise deine CSP aktualisieren, damit die Google Log-in-Bibliothek verwendet werden kann.
Folgen Sie der Anleitung unter Anfrage der Google Sign-in-Bibliothek finden, wählen Sie die Anfrage der Google Sign-in-Bibliothek im DevTools-Bereich Netzwerk aus und suchen Sie auf dem Tab Header im Bereich Antwortheader nach dem Header Content-Security-Policy
.
Wenn der Header nicht gefunden wird, sind keine Änderungen erforderlich. Andernfalls prüfen Sie, ob eine dieser CSP-Anweisungen im CSP-Header definiert ist, und aktualisieren Sie sie so:
https://apis.google.com/js/
,https://accounts.google.com/gsi/
undhttps://acounts.google.com/o/fedcm/
zuconnect-src
-,default-src
- oderframe-src
-Anweisungen hinzufügenFügen Sie der
script-src
-Anweisunghttps://apis.google.com/js/bundle-name.js
hinzu. Ersetzen Siebundle-name.js
durchapi.js
,client.js
oderplatform.js
, je nachdem, welches Bibliothekspaket die Dokumentanfragen enthält.
Änderungen an Nutzeraufforderungen prüfen
Es gibt einige Unterschiede beim Verhalten von Nutzeraufforderungen. FedCM fügt ein modales Dialogfeld hinzu, das vom Browser angezeigt wird, und aktualisiert die Anforderungen für die Nutzeraktivierung.
Modales Dialogfeld
Prüfen Sie das Layout Ihrer Website, um sicherzustellen, dass die zugrunde liegenden Inhalte sicher überlagert und vorübergehend durch das modale Dialogfeld des Browsers verdeckt werden können. Andernfalls müssen Sie möglicherweise das Layout oder die Position einiger Elemente Ihrer Website anpassen.
Nutzeraktivierung
FedCM enthält aktualisierte Anforderungen für die Nutzeraktivierung. Das Drücken einer Schaltfläche oder das Klicken auf einen Link sind Beispiele für Nutzeraktionen, die es Drittanbietern ermöglichen, Netzwerkanfragen zu stellen oder Daten zu speichern. Bei FedCM fordert der Browser die Nutzereinwilligung in folgenden Fällen an:
- ein Nutzer sich zum ersten Mal mit einer neuen Browserinstanz in einer Webanwendung anmeldet oder
GoogleAuth.signIn
wird aufgerufen.
Wenn sich der Nutzer bereits auf Ihrer Website angemeldet hat, können Sie die Anmeldedaten des Nutzers beim Initialisieren der Google Sign-In-Bibliothek mit gapi.auth2.init
abrufen, ohne dass der Nutzer weitere Aktionen ausführen muss. Das ist nicht mehr möglich, es sei denn, der Nutzer hat die FedCM-Anmeldeabfolge mindestens einmal durchlaufen.
Wenn Sie FedCM aktivieren und GoogleAuth.signIn
aufrufen, kann gapi.auth2.init
beim nächsten Besuch desselben Nutzers auf Ihrer Website die Anmeldeinformationen des Nutzers während der Initialisierung abrufen, ohne dass der Nutzer etwas tun muss.
Gängige Anwendungsfälle
Die Entwicklerdokumentation für die Google Sign-In-Bibliothek enthält Anleitungen und Codebeispiele für gängige Anwendungsfälle. In diesem Abschnitt wird erläutert, wie sich FedCM auf ihr Verhalten auswirkt.
Google Log-in in Ihre Webanwendung integrieren
In dieser Demo rendern ein
<div>
-Element und eine Klasse die Schaltfläche. Für bereits angemeldete Nutzer gibt das Ereignis der Seiteonload
Nutzeranmeldedaten zurück. Für die Anmeldung und Einrichtung einer neuen Sitzung ist eine Nutzerinteraktion erforderlich.Die Bibliothek wird von der Klasse
g-signin2
initialisiert, diegapi.load
undgapi.auth2.init
aufruft.Eine Nutzergeste, ein
onclick
-Ereignis des<div>
-Elements, ruft bei der Anmeldungauth2.signIn
oder beim Abmeldenauth2.signOut
auf.Benutzerdefinierte Schaltfläche für Google Log-in erstellen
In Demo 1 wird das Aussehen der Anmeldeschaltfläche mithilfe von benutzerdefinierten Attributen gesteuert. Bei bereits angemeldeten Nutzern gibt das Ereignis „Seite
onload
“ Nutzeranmeldedaten zurück. Für die Anmeldung und Einrichtung einer neuen Sitzung ist eine Nutzerinteraktion erforderlich.Die Bibliothek wird über ein
onload
-Ereignis für dieplatform.js
-Bibliothek initialisiert und die Schaltfläche wird vongapi.signin2.render
angezeigt.Durch eine Nutzergeste, bei der die Anmeldeschaltfläche gedrückt wird, wird
auth2.signIn
aufgerufen.In Demo zwei werden ein
<div>
-Element, CSS-Stile und eine benutzerdefinierte Grafik verwendet, um die Darstellung der Anmeldeschaltfläche zu steuern. Für die Anmeldung und Einrichtung einer neuen Sitzung ist eine Nutzerinteraktion erforderlich.Die Initialisierung der Bibliothek erfolgt beim Laden des Dokuments mithilfe einer Startfunktion, die
gapi.load
,gapi.auth2.init
undgapi.auth2.attachClickHandler
aufruft.Eine Nutzergeste, ein
<div>
-Element-onclick
-Ereignis, ruftauth2.signIn
mithilfe vonauth2.attachClickHandler
während der Anmeldung oderauth2.signOut
bei der Abmeldung auf.Sitzungsstatus des Nutzers überwachen
In dieser Demo wird zum Anmelden und Abmelden des Nutzers eine Schaltfläche verwendet. Für die Anmeldung und das Erstellen einer neuen Sitzung ist eine Nutzerinteraktion erforderlich.
Zur Initialisierung der Bibliothek werden
gapi.load
,gapi.auth2.init
undgapi.auth2.attachClickHandler()
direkt aufgerufen, nachdemplatform.js
mitscript src
geladen wurde.Eine Nutzergeste, ein
<div>
-Element-onclick
-Ereignis, ruftauth2.signIn
mithilfe desauth2.attachClickHandler
während der Anmeldung oderauth2.signOut
bei der Abmeldung auf.Zusätzliche Berechtigungen anfordern
In dieser Demo wird durch Drücken einer Schaltfläche eine zusätzliche OAuth 2.0-Berechtigung angefordert, um ein neues Zugriffstoken zu erhalten. Bei bereits angemeldeten Nutzern werden über das Ereignis „Seite
onload
“ Nutzeranmeldedaten zurückgegeben. Für die Anmeldung und das Erstellen einer neuen Sitzung ist eine Nutzerinteraktion erforderlich.Die Initialisierung der Bibliothek erfolgt über das Ereignis
onload
für die Bibliothekplatform.js
über einen Aufruf vongapi.signin2.render
.Wenn ein Nutzer auf ein
<button>
-Element klickt, wird beim Abmelden eine Anfrage für zusätzliche OAuth 2.0-Anwendungsbereiche mitgoogleUser.grant
oderauth2.signOut
ausgelöst.Google Log-in mit Hörern einbinden
In dieser Demo werden für bereits angemeldete Nutzer über das Ereignis „Seite
onload
“ Nutzeranmeldedaten zurückgegeben. Für die Anmeldung und das Starten einer neuen Sitzung ist eine Nutzerinteraktion erforderlich.Die Bibliothek wird beim Laden des Dokuments mit einer Startfunktion initialisiert, die
gapi.load
,gapi.auth2.init
undgapi.auth2.attachClickHandler
aufruft. Als Nächstes werdenauth2.isSignedIn.listen
undauth2.currentUser.listen
verwendet, um Benachrichtigungen zu Änderungen am Sitzungsstatus einzurichten. Schließlich wirdauth2.SignIn
aufgerufen, um Anmeldedaten für angemeldete Nutzer zurückzugeben.Eine Nutzergeste, ein
<div>
-Element-onclick
-Ereignis, ruftauth2.signIn
mithilfe vonauth2.attachClickHandler
während der Anmeldung oderauth2.signOut
bei der Abmeldung auf.Google Log-in für serverseitige Apps
In dieser Demo wird ein Nutzer-Geste verwendet, um einen OAuth 2.0-Authentifizierungscode anzufordern. Ein JS-Callback führt einen AJAX-Aufruf aus, um die Antwort zur Überprüfung an den Backend-Server zu senden.
Die Initialisierung der Bibliothek erfolgt mit einem
onload
-Ereignis für die Bibliothekplatform.js
, das eine Startfunktion zum Aufrufen vongapi.load
undgapi.auth2.init
verwendet.Wenn ein Nutzer auf ein
<button>
-Element klickt, wird durch Aufrufen vonauth2.grantOfflineAccess
eine Anfrage für einen Autorisierungscode ausgelöst.-
Für FedCM ist die Einwilligung für jede Browserinstanz erforderlich. Auch wenn Android-Nutzer bereits angemeldet sind, ist eine einmalige Einwilligung erforderlich.
Übergangszeit verwalten
Während der Umstellungsphase wird für einen Teil der Nutzeranmeldungen möglicherweise FedCM verwendet. Der genaue Prozentsatz kann variieren und sich im Laufe der Zeit ändern. Standardmäßig steuert Google, wie viele Anmeldeanfragen FedCM verwenden. Sie können die Verwendung von FedCM jedoch während der Übergangsphase aktivieren oder deaktivieren. Am Ende der Übergangsphase wird FedCM obligatorisch und für alle Anmeldeanfragen verwendet.
Wenn du die Funktion aktivierst, wird der Nutzer durch den FedCM-Anmeldevorgang geführt. Wenn du sie deaktivierst, wird der Nutzer durch den vorhandenen Anmeldevorgang geführt. Dieses Verhalten wird über den Parameter use_fedcm
gesteuert.
Opt-in
Es kann hilfreich sein, festzulegen, ob alle oder einige Anmeldeversuche auf Ihrer Website FedCM APIs verwenden sollen. Dazu musst du use_fedcm
auf true
setzen, wenn du die Plattformbibliothek initialisierst. Für die Nutzeranmeldung werden in diesem Fall FedCM APIs verwendet.
Deaktivieren
Während der Übergangsphase werden bei einem Prozentsatz der Anmeldeversuche auf Ihrer Website standardmäßig FedCM APIs verwendet. Wenn Sie mehr Zeit für Änderungen an Ihrer App benötigen, können Sie die Verwendung von FedCM APIs vorübergehend deaktivieren. Dazu setzt du use_fedcm
auf false
, wenn du die Plattformbibliothek initialisierst. Für die Nutzeranmeldung werden in diesem Fall keine FedCM APIs verwendet.
Nach der obligatorischen Einführung werden alle use_fedcm
-Einstellungen von der Google Sign-in-Plattformbibliothek ignoriert.
Hilfe
Mit dem Tag google-signin können Sie auf Stack Overflow nach Antworten suchen oder Fragen stellen.