In diesem Leitfaden werden die Auswirkungen der Einstellung von Drittanbieter-Cookies auf die Google Anmeldeplattformbibliothek. Zu den Themen gehören die Zeitachse und Nächste Schritte für ein abwärtskompatibles Update der Bibliothek, Auswirkungen abschätzen und prüfen, ob die Nutzeranmeldung weiterhin möglich ist wie erwartet funktionieren und gegebenenfalls eine Anleitung zur Aktualisierung Ihrer Web-App. Optionen zur Verwaltung des Übergangszeitraums und zur Hilfe werden ebenfalls behandelt.
Status der Bibliothek
Neue Web-Apps dürfen die eingestellte Google Log-in-Plattform nicht mehr verwenden und Apps, die die Bibliothek verwenden, können bis auf Weiteres fortgesetzt werden. A Das endgültige Ablaufdatum für die Bibliothek wurde noch nicht festgelegt. Weitere Informationen finden Sie unter Einstellung des Supports und Einstellung.
Das Blockieren von Drittanbieter-Cookies durch die Privacy Sandbox in Chrome wirkt sich auf Web-Apps aus die die Bibliothek der Google Log-in-Plattform verwenden. Um das bestehende Verhalten beizubehalten, ohne dass Drittanbieter-Cookies verwendet werden müssen, ist ein abwärtskompatibles Update Dieser Bibliothek werden FedCM APIs hinzugefügt. Die meisten Änderungen sind nahtlos, Aktualisierung der Änderungen bei Aufforderungen zur Nutzereinwilligung, iFrames permissions-policy und Content Security Policy (CSP). Diese Änderungen kann sich auf Ihre Webanwendung auswirken und erfordert Änderungen am Anwendungscode und der Website. Konfiguration.
Während der Übergangsphase wird über eine Konfigurationsoption festgelegt, ob FedCM APIs werden bei der Nutzeranmeldung verwendet.
Zeitachse
Zuletzt aktualisiert im Juli 2024
Dies sind die Daten und Änderungen, die sich auf das Anmeldeverhalten der Nutzer auswirken:
- März 2023 Der Support für die Google Log-in-Plattform wird eingestellt Bibliothek.
- Januar 2024: Chrome blockiert 1% der Drittanbieter-Cookies, der Google Log-in-Funktion Plattformbibliothek wird eine vorübergehende Ausnahme von Drittanbieter-Cookies gewährt durch einen Test zur Einstellung blockiert.
- Juli 2024 beginnt und Bibliothek der Google Log-in-Plattform
Unterstützung für FedCM APIs hinzugefügt. Standardmäßig steuert Google den Prozentsatz
der Nutzeranmeldungsanfragen über FedCM in dieser Zeit. Web-Apps können
können Sie dieses Verhalten explizit mit dem Parameter
use_fedcm
überschreiben. - Obligatorische Einführung (Datum wird festgelegt) von FedCM APIs durch Google
Anmeldeplattformbibliothek, nach der der
use_fedcm
-Parameter ignoriert wird, und für alle Anmeldeanfragen von Nutzern wird FedCM verwendet.
Nach der Umstellung auf FedCM APIs ist die Bibliothek der Google Log-in-Plattform nicht mehr verfügbar die von der Blockierung von Drittanbieter-Cookies betroffen sind. Neuigkeiten zu Drittanbieter-Cookies finden Sie in der Privacy Sandbox-Zeitachse von Chrome.
Nächste Schritte
Es gibt drei Optionen:
- Führen Sie eine Folgenabschätzung durch und aktualisieren Sie bei Bedarf Ihre Webanwendung. Bei diesem Ansatz wird bewertet, ob Funktionen, die Änderungen an Ihrer Webanwendung erfordern, verwendet wird. Eine entsprechende Anleitung finden Sie im nächsten Abschnitt dieses Leitfadens.
- Verschieben Sie die GIS-Bibliothek (Google Identity Services). Um auf die neuesten und unterstützte Anmeldebibliothek wird dringend empfohlen. Folgen Sie dazu dieser Anleitung.
- Nichts unternehmen: Ihre Web-App wird automatisch aktualisiert, wenn der Die Google Log-in-Bibliothek wird für die Nutzeranmeldung in die FedCM APIs verschoben. Dies ist die nicht zu wenig Arbeit. Es besteht jedoch das Risiko, dass Nutzer sich nicht mehr Ihrer Webanwendung.
Folgenabschätzung durchführen
Folgen Sie dieser Anleitung, um herauszufinden, ob Ihre Web-App nahtlos aktualisiert werden kann. oder wenn Änderungen notwendig sind, um Nutzer können sich nicht anmelden, wenn die Bibliothek der Google Log-in-Plattform vollständig verwendet FedCM APIs.
Einrichtung
Browser-APIs und die neueste Version der Google Log-in-Plattformbibliothek die für die Verwendung von FedCM bei der Nutzeranmeldung erforderlich sind.
Bevor Sie fortfahren:
- Aktualisieren Sie Chrome auf die neueste Version. Chrome für Android erfordert Version M128 oder höher und kann nicht mit früheren Versionen getestet werden.
Öffnen Sie
chrome://flags
und legen Sie die folgenden Werte für die folgenden Funktionen fest:- #fedcm-authz Aktiviert, wenn für Ihre Website eine Content Security Policy verwendet wird
das
https://accounts.google.com/gsi/ottoken
blockiert. - #tracking-protection-3pcd aktiviert
- #third-party-cookie-deprecation-trial Deaktiviert
- #tpcd-metadata-grants Deaktiviert
- #tpcd-heuristics-grants Deaktiviert
und starten Sie Chrome neu.
- #fedcm-authz Aktiviert, wenn für Ihre Website eine Content Security Policy verwendet wird
das
Legen Sie
use_fedcm
beim Initialisieren der Google Log-in-Plattform auftrue
fest Bibliothek in Ihrer Webanwendung. In der Regel sieht die Initialisierung so aus:gapi.client.init({use_fedcm: true})
odergapi.auth2.init({use_fedcm: true})
odergapi.auth2.authorize({use_fedcm: true})
.
Im Cache gespeicherte Versionen der Google Log-in-Plattformbibliothek entwerten. In der Regel ist dieser Schritt nicht erforderlich, da die neueste Version der Bibliothek direkt in den Browser heruntergeladen, indem
api.js
,client.js
oderplatform.js
in einem<script src>
-Tag (für die Anfrage können folgende Werte verwendet werden) Bundle-Namen für die Bibliothek).Bestätigen Sie die OAuth-Einstellungen für Ihre OAuth-Client-ID:
- Öffnen Sie im Google API Consoledie Seite „Anmeldedaten“
Überprüfen Sie, ob der URI Ihrer Website in Autorisierte JavaScript-Quellen Der URI enthält das Schema und voll qualifizierten Hostnamen. Beispiel:
https://www.example.com
.Optional können Anmeldedaten mithilfe einer Weiterleitung an einen Endpunkt zurückgegeben werden statt über einen JavaScript-Callback. In diesem Fall Prüfen Sie, ob Ihre Weiterleitungs-URIs unter Autorisierte Weiterleitungs-URIs enthalten sind. Weiterleitungs-URIs enthalten das Schema, den voll qualifizierten Hostnamen und den Pfad Außerdem müssen sie den Validierungsregeln für Weiterleitungs-URIs entsprechen. Beispiel:
https://www.example.com/auth-receiver
.
Test
Folgen Sie der Anleitung unter „Einrichtung“:
- Alle vorhandenen Chrome-Inkognitofenster schließen und einen neuen Inkognitofenster öffnen . Dadurch werden alle im Cache gespeicherten Inhalte und Cookies gelöscht.
- Laden Sie die Anmeldeseite des Nutzers und versuchen Sie, sich anzumelden.
Befolgen Sie die Anweisungen in diesen Abschnitten dieses Handbuchs, um und bekannte Probleme beheben:
Suchen Sie in der Console nach Fehlern oder Warnungen im Zusammenhang mit der Google Log-in-Funktion Bibliothek.
Wiederholen Sie diesen Vorgang, bis keine Fehler mehr auftreten und Sie sich anmelden können. Bestätigen Sie eine erfolgreiche Anmeldung, indem Sie
BasicProfile.getEmail()
gibt Ihre E-Mail-Adresse zurückGoogleUser.isSignedIn()
istTrue
.
Anfrage zur Google Log-in-Bibliothek suchen
Prüfen, ob Änderungen an permissions-policy und Content Security Policy vorgenommen wurden indem Sie die Anfrage für die Bibliothek der Google Log-in-Plattform prüfen. Suchen Sie dazu die Anfrage anhand des Namens und der Quelle der Bibliothek:
- Öffnen Sie in Chrome in den Entwicklertools den Bereich Netzwerk und aktualisieren Sie die Seite.
- Verwenden Sie die Werte in den Spalten Domain und Name, um die Bibliothek zu finden.
Anfrage:
<ph type="x-smartling-placeholder">
- </ph>
- Domain ist
apis.google.com
und - Der Name lautet entweder
api.js
,client.js
oderplatform.js
. Die spezifischen für Name hängt vom vom Dokument angeforderten Bibliotheks-Bundle ab.
- Domain ist
Filtern Sie beispielsweise in der Spalte Domain nach apis.google.com
und
platform.js
in der Spalte Name.
Richtlinie für iFrame-Berechtigungen prüfen
Ihre Website verwendet möglicherweise die Google Log-in-Plattformbibliothek in einem ursprungsübergreifenden iFrame. In diesem Fall ist ein Update erforderlich.
Nachdem Sie der Anleitung Google Log-in-Bibliotheksanfrage suchen
die Google Log-in-Bibliotheksanfrage in den Entwicklertools
Netzwerk und suchen Sie die Kopfzeile Sec-Fetch-Site
in der
Abschnitt Request Headers auf dem Tab Headers Wenn der Wert des Headers
lautet:
same-site
odersame-origin
, dann gelten die ursprungsübergreifenden Richtlinien nicht und keine Änderungen erforderlich sind.- Bei Verwendung eines iFrames können
cross-origin
-Änderungen erforderlich sein.
So prüfen Sie, ob ein iFrame vorhanden ist:
- Wählen Sie in den Chrome-Entwicklertools den Bereich Elemente aus.
- Verwenden Sie Strg+F, um einen iFrame im Dokument zu finden.
Wenn ein iFrame gefunden wird, prüfen Sie das Dokument auf Aufrufe von gapi.auth2.
Funktionen oder script src
-Anweisungen, die die Google Log-in-Bibliothek laden
innerhalb des iFrames platziert. Trifft das auf Sie zu, haben Sie folgende Möglichkeiten:
- Fügen Sie die Berechtigungsrichtlinie
allow="identity-credentials-get"
zum übergeordnetem iFrame.
Wiederholen Sie diesen Vorgang für jeden iFrame im Dokument. iFrames können verschachtelt sein, müssen Sie die Anweisung "allow" zu allen übergeordneten iFrames hinzufügen, die Sie umgeben.
Content Security Policy prüfen
Wenn Ihre Website eine Content Security Policy verwendet, müssen Sie möglicherweise Ihre CSP aktualisieren, um die Nutzung der Google Log-in-Bibliothek zulassen.
Nachdem Sie der Anleitung Google Log-in-Bibliotheksanfrage suchen
die Google Log-in-Bibliotheksanfrage in den Entwicklertools
Netzwerk und suchen Sie die Kopfzeile Content-Security-Policy
in der
Abschnitt Response Headers (Antwortheader) auf dem Tab Headers (Header).
Wenn der Header nicht gefunden wird, sind keine Änderungen erforderlich. Prüfen Sie andernfalls, ob eine der folgenden diese CSP-Anweisungen sind im CSP-Header definiert und aktualisieren sie folgendermaßen:
https://apis.google.com/js/
,https://accounts.google.com/gsi/
werden hinzugefügt, undhttps://acounts.google.com/o/fedcm/
auf beliebigeconnect-src
,default-src
- oderframe-src
-Anweisungen.Wird
https://apis.google.com/js/bundle-name.js
zuscript-src
hinzugefügt . Ersetzen Siebundle-name.js
durchapi.js
,client.js
oderplatform.js
basierend auf dem Bibliotheks-Bundle die Dokumentanfragen.
Auf Änderungen von Nutzeraufforderungen prüfen
Es gibt einige Unterschiede im Verhalten von Nutzeraufforderungen. FedCM fügt ein modales Dialogfeld hinzu. die im Browser angezeigt werden, und aktualisiert die Aktivierungsanforderungen für Nutzer.
Modales Dialogfeld
Überprüfen Sie das Layout Ihrer Website, um sicherzustellen, dass die zugrunde liegenden Inhalte zuverlässig verarbeitet werden können. überlagert und vorübergehend vom modalen Dialogfeld des Browsers verdeckt. Wenn dieses müssen Sie vielleicht das Layout oder die Position einiger Elemente Ihrer Website.
Nutzeraktivierung
FedCM enthält aktualisierte Anforderungen für die Nutzeraktivierung. Durch Drücken einer Taste oder Das Klicken auf einen Link sind Beispiele für Nutzergesten, mit denen Drittanbieterquellen gefunden werden können. um Netzwerkanfragen zu senden oder Daten zu speichern. Bei FedCM fordert der Browser Einwilligung der Nutzer in den folgenden Fällen:
- sich ein Nutzer zuerst über eine neue Browserinstanz in einer Web-App anmeldet oder
GoogleAuth.signIn
wird aufgerufen.
Wenn sich der Nutzer schon einmal auf Ihrer Website angemeldet hat, erhalten Sie
Anmeldedaten des Nutzers beim Initialisieren der Google Log-in-Bibliothek
mit gapi.auth2.init
ohne weitere Nutzerinteraktionen.
Da Drittanbieter-Cookies eingestellt werden, ist dies nur möglich, wenn die Der Nutzer hat sich mindestens einmal für die FedCM-Anmeldung registriert.
Wenn Sie FedCM aktivieren und GoogleAuth.signIn
anrufen, erfolgt beim nächsten Mal
Nutzer Ihre Website besucht, kann gapi.auth2.init
die Anmeldedaten des Nutzers abrufen
Informationen während der Initialisierung
ohne Nutzerinteraktion.
Gängige Anwendungsfälle
Die Entwicklerdokumentation für die Google Log-in-Bibliothek enthält Leitfäden und Code. Beispiele für häufige Anwendungsfälle. In diesem Abschnitt wird erläutert, wie sich FedCM verhalten.
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
den Nutzer zurück Anmeldedaten. Für die Anmeldung und das Einrichten eines neuen Kontos ist eine Interaktion des Nutzers erforderlich Sitzung.Die Initialisierung der Bibliothek erfolgt durch die Klasse
g-signin2
, die diese aufruftgapi.load
undgapi.auth2.init
.Eine Nutzergeste, ein Ereignis vom Typ
onclick
eines<div>
-Elements, ruftauth2.signIn
auf. bei der Anmeldung oderauth2.signOut
bei der AbmeldungBenutzerdefinierte Google Log-in-Schaltfläche erstellen
In demo one wird mit benutzerdefinierten Attributen das Erscheinungsbild von Anmeldeschaltfläche und für bereits angemeldete Nutzer das Ereignis der Seite
onload
gibt die Anmeldedaten des Nutzers zurück. Für die Anmeldung ist eine Nutzerinteraktion erforderlich. eine neue Sitzung zu starten.Die Initialisierung der Bibliothek erfolgt über ein
onload
-Ereignis für dieplatform.js
-Bibliothek und die Schaltfläche wird vongapi.signin2.render
angezeigt.Durch eine Nutzergeste, die auf die Anmeldeschaltfläche drückt, wird
auth2.signIn
aufgerufen.In Demo zwei werden ein
<div>
-Element, CSS-Stile und eine benutzerdefinierte Grafik wird verwendet, um die Darstellung der Anmeldeschaltfläche zu steuern. Nutzerinteraktion ist erforderlich, um sich anzumelden und eine neue Sitzung einzurichten.Die Initialisierung der Bibliothek erfolgt beim Laden des Dokuments mithilfe einer Startfunktion. die
gapi.load
,gapi.auth2.init
undgapi.auth2.attachClickHandler
Eine Nutzergeste, ein Ereignis vom Typ
onclick
eines<div>
-Elements, ruftauth2.signIn
auf. Verwenden vonauth2.attachClickHandler
bei der Anmeldung oderauth2.signOut
auf melden Sie sich ab.Sitzungsstatus des Nutzers überwachen
In dieser demo wird das Drücken einer Schaltfläche zum An- und Abmelden verwendet. Für die Anmeldung und das Erstellen einer neuen Sitzung ist eine Nutzerinteraktion erforderlich.
Die Initialisierung der Bibliothek erfolgt direkt durch Aufrufen von
gapi.load
.gapi.auth2.init
und danachgapi.auth2.attachClickHandler()
platform.js
wird mitscript src
geladen.Eine Nutzergeste, ein Ereignis vom Typ
onclick
eines<div>
-Elements, ruftauth2.signIn
auf. Verwenden vonauth2.attachClickHandler
bei der Anmeldung oderauth2.signOut
auf melden Sie sich ab.Zusätzliche Berechtigungen anfordern
In dieser demo wird per Tastendruck zusätzliches OAuth 2.0 angefordert. Zugriffsbereiche, rufen Sie ein neues Zugriffstoken ab. Für bereits angemeldete Nutzer Seiten-
onload
-Ereignis gibt Nutzeranmeldedaten zurück. Nutzerinteraktion ist erforderlich um sich anzumelden und eine neue Sitzung zu starten.Die Initialisierung der Bibliothek erfolgt über das Ereignis
onload
für dieplatform.js
über einen Anruf beigapi.signin2.render
.Eine Nutzergeste, die auf ein
<button>
-Element klickt, löst eine Anfrage für zusätzliche OAuth 2.0-Bereiche mitgoogleUser.grant
oderauth2.signOut
wenn Sie sich abmelden.Google Log-in mit Hörern einbinden
In dieser demo gilt für bereits angemeldete Nutzer das Ereignis der Seite
onload
. gibt die Anmeldedaten des Nutzers zurück. Für die Anmeldung ist eine Nutzerinteraktion erforderlich. eine neue Sitzung zu starten.Die Initialisierung der Bibliothek erfolgt beim Laden des Dokuments mithilfe einer Startfunktion. die
gapi.load
,gapi.auth2.init
undgapi.auth2.attachClickHandler
Als Nächstesauth2.isSignedIn.listen
undauth2.currentUser.listen
werden verwendet, um eine Benachrichtigung über Änderungen einzurichten an Sitzungsstatus. Zuletzt wirdauth2.SignIn
aufgerufen, um Anmeldedaten für angemeldeten Nutzer.Eine Nutzergeste, ein Ereignis vom Typ
onclick
eines<div>
-Elements, ruftauth2.signIn
auf. Verwenden vonauth2.attachClickHandler
bei der Anmeldung oderauth2.signOut
auf melden Sie sich ab.Google Log-in für serverseitige Apps
In dieser demo wird eine Nutzergeste verwendet, um einen OAuth 2.0-Authentifizierungscode anzufordern. und ein JS-Callback startet einen AJAX-Aufruf, um die Antwort an das Back-End zu senden. Server für die Überprüfung.
Die Initialisierung der Bibliothek erfolgt mit einem
onload
-Ereignis fürplatform.js
. die über eine Startfunktiongapi.load
undgapi.auth2.init
.Eine Nutzergeste, die auf ein
<button>
-Element klickt, löst eine Anfrage für durch Aufrufen vonauth2.grantOfflineAccess
einen Autorisierungscode erhalten.-
FedCM verlangt die Einwilligung für jede Browserinstanz, selbst wenn Android-Nutzer bereits angemeldet sind, ist eine einmalige Einwilligung erforderlich.
Übergangsphase verwalten
Während der Übergangsphase kann ein bestimmter Prozentsatz der Nutzer FedCM verwenden. kann der genaue Prozentsatz variieren und sich im Laufe der Zeit ändern. Standardmäßig steuert Google wie viele Anmeldeanfragen FedCM verwenden. Sie können sich jedoch mit FedCM während der Übergangsphase. Am Ende der Übergangsphase FedCM wird obligatorisch und wird für alle Anmeldeanfragen verwendet.
Wenn Sie sich für die Option entscheiden, wird der Nutzer durch den FedCM-Anmeldevorgang weitergeleitet, während er
die Nutzer über den bestehenden Anmeldevorgang weiterleiten. Dieses Verhalten ist
werden über den Parameter use_fedcm
gesteuert.
Opt-in
Es kann hilfreich sein, festzulegen, ob alle oder nur einige Anmeldeversuche an Ihrem
FedCM APIs verwendet. Setzen Sie dazu use_fedcm
bei der Initialisierung auf true
der Plattformbibliothek. In diesem Fall werden für die Anmeldeanfrage des Nutzers FedCM APIs verwendet.
Deaktivieren
Während der Übergangsphase versucht ein bestimmter Prozentsatz der Nutzer, die sich auf Ihrer Website anmelden.
verwenden standardmäßig FedCM APIs. Wenn Sie mehr Zeit benötigen, um Änderungen an Ihrem
können Sie die FedCM APIs vorübergehend deaktivieren. Legen Sie dazu
use_fedcm
auf false
, wenn die Plattformbibliothek initialisiert wird. Die Nutzeranmeldung
werden in diesem Fall keine FedCM APIs verwendet.
Nach der obligatorischen Übernahme werden alle use_fedcm
-Einstellungen vom
Bibliothek der Google Log-in-Plattform.
Hilfe
Suchen Sie in Stack Overflow oder stellen Sie Fragen mit dem Tag google-signin.