In diesem Leitfaden wird die Verwendung von FedCM APIs durch die Google Sign-in-Plattformbibliothek beschrieben. Zu den Themen gehören die Zeitleiste und die Nächsten Schritte für ein abwärtskompatibles Update der Bibliothek, wie Sie eine Auswirkungsanalyse durchführen und prüfen, ob die Nutzeranmeldung weiterhin wie erwartet funktioniert, sowie bei Bedarf eine Anleitung zum Aktualisieren Ihrer Webanwendung. Außerdem werden Optionen zum Verwalten der Übergangsphase und zum Holen von Hilfe 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 Änderungen am Anwendungscode und an der Websitekonfiguration erfordern.
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 Web-Apps, die die Google Sign-In-Bibliothek verwenden, obligatorisch.
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 während dieser Zeit den Prozentsatz der Nutzeranmeldungen, die über FedCM erfolgen. Web-Apps können dieses Verhalten mit dem Parameter
use_fedcm
explizit überschreiben. - März 2025: Erforderliche Einführung von FedCM APIs in der Google Log-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). Wir empfehlen dringend, auf die neueste und unterstützte Anmeldebibliothek umzustellen. Folgen Sie dazu dieser Anleitung.
- Nichts unternehmen: Ihre Webanwendung wird automatisch aktualisiert, wenn die Google Sign-in-Bibliothek auf FedCM APIs für die Nutzeranmeldung umgestellt wird. Das ist der geringste Aufwand, aber es besteht das Risiko, dass sich Nutzer nicht in Ihrer Webanwendung anmelden können.
Folgenabschätzung durchführen
Anhand dieser Anleitung können Sie feststellen, ob Ihre Webanwendung durch ein abwärtskompatibles Update nahtlos aktualisiert werden kann oder ob Änderungen erforderlich sind, damit sich Nutzer anmelden können, wenn die FedCM APIs vollständig in die Google Sign-in-Plattformbibliothek übernommen werden.
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.
- Legen Sie
use_fedcm
auftrue
fest, wenn Sie die Google Sign-in-Plattformbibliothek 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
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 für Nutzer und versuchen Sie, sich anzumelden.
Folgen Sie der Anleitung in den folgenden 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 erfolgreich anmelden können. Sie können eine erfolgreiche Anmeldung prüfen, indem Sie prüfen, ob für
BasicProfile.getEmail()
Ihre E-Mail-Adresse zurückgegeben wird undGoogleUser.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 nach apis.google.com
in der Spalte Domain und nach platform.js
in der Spalte Name.
iFrame-Berechtigungsrichtlinie prüfen
Auf Ihrer Website wird möglicherweise die Google Log-in-Plattformbibliothek in einem plattformü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 jeden Iframe im Dokument. Iframes können verschachtelt sein. Fügen Sie daher die Allow-Anweisung allen umliegenden übergeordneten Iframes hinzu.
Content Security Policy prüfen
Wenn auf Ihrer Website eine Content Security Policy verwendet wird, müssen Sie sie möglicherweise aktualisieren, damit die Google Sign-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 einbinden
In dieser Demo wird die Schaltfläche mit einem
<div>
-Element und einer Klasse gerendert. Bei bereits angemeldeten Nutzern gibt das Ereignis „Seiten-onload
“ die 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
<div>
-Element-onclick
-Ereignis, ruftauth2.signIn
während der Anmeldung oderauth2.signOut
bei der Abmeldung 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
“ die Anmeldedaten des Nutzers 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 2 werden ein
<div>
-Element, CSS-Stile und eine benutzerdefinierte Grafik verwendet, um das Erscheinungsbild der Anmeldeschaltfläche zu steuern. Für die Anmeldung und Einrichtung 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.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 Einrichtung einer neuen Sitzung ist eine Nutzerinteraktion erforderlich.
Die Bibliothek wird durch direkten Aufruf von
gapi.load
,gapi.auth2.init
undgapi.auth2.attachClickHandler()
initialisiert, 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 Einrichtung einer neuen Sitzung ist eine Nutzerinteraktion erforderlich.Die Bibliothek wird durch das
onload
-Ereignis für dieplatform.js
-Bibliothek über einen Aufruf vongapi.signin2.render
initialisiert.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 Sign-In mit Listenern einbinden
In dieser Demo werden für bereits angemeldete Nutzer über das Ereignis „Seite
onload
“ Nutzeranmeldedaten zurückgegeben. Für die Anmeldung und Einrichtung 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 Bibliothek wird mit einem
onload
-Ereignis für dieplatform.js
-Bibliothek initialisiert, bei demgapi.load
undgapi.auth2.init
über eine Startfunktion aufgerufen werden.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 eine 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 mit dem 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.