Diese Seite wurde von der Cloud Translation API übersetzt.
Switch to English

Überblick

Durch die Verknüpfung von Konten können Google-Kontoinhaber schnell, nahtlos und sicher eine Verbindung zu Ihren Diensten herstellen. Sie können Google Account Linking implementieren, um die Daten eines Nutzers von Ihrer Plattform für Google Apps und Dienste freizugeben.

Mit dem sicheren OAuth 2.0-Protokoll können Sie das Google-Konto eines Benutzers sicher mit seinem Konto auf Ihrer Plattform verknüpfen und so Google-Anwendungen und -Geräten Zugriff auf Ihre Dienste gewähren.

Benutzer können ihre Konten mit Google Account Linking verknüpfen oder die Verknüpfung aufheben und optional ein neues Konto auf Ihrer Plattform erstellen.

Anwendungsfälle

Einige der Gründe für die Implementierung von Google Account Linking sind:

  • Teilen Sie die Daten eines Nutzers von Ihrer Plattform mit Google Apps und Diensten.

  • Spielen Sie Ihre Video- und Filminhalte mit Google TV ab .

  • Verwalten und steuern Sie mit Google Smart Home verbundene Geräte mithilfe der Google Home-App und des Google-Assistenten "Hey Google, mach das Licht an".

  • Erstellen Sie mit Conversational Actions "Hey Google, bestellen Sie mein übliches bei Starbucks" benutzerdefinierte Google Assistant-Erlebnisse und -Funktionen.

  • Ermöglichen Sie Nutzern, Prämien zu verdienen, indem Sie berechtigte Live-Streams auf YouTube anzeigen, nachdem Sie ihr Google-Konto mit einem Prämien-Partnerkonto verknüpft haben.

  • Füllen Sie neue Konten während der Anmeldung mit einvernehmlich freigegebenen Daten aus einem Google-Kontoprofil vor .

Unterstützte Funktionen

Diese Funktionen werden von Google Account Linking unterstützt:

  • Teilen Sie Ihre Daten schnell und einfach mithilfe des impliziten OAuth Linking- Flusses.

  • Bieten Sie mit dem OAuth Linking-Autorisierungscode- Fluss eine verbesserte Sicherheit.

  • Melden Sie vorhandene Benutzer an oder melden Sie neue von Google verifizierte Benutzer bei Ihrer Plattform an, holen Sie deren Zustimmung ein und teilen Sie Daten sicher mit Streamlined Linking .

  • Reduzieren Sie die Reibung mit App Flip . In einer vertrauenswürdigen Google-App wird Ihre verifizierte Android- oder iOS-App durch einmaliges Tippen sicher geöffnet, und durch einmaliges Tippen wird die Zustimmung des Benutzers erteilt und Konten verknüpft.

  • Verbessern Sie die Privatsphäre der Benutzer, indem Sie benutzerdefinierte Bereiche definieren, um nur die erforderlichen Daten gemeinsam zu nutzen. Erhöhen Sie das Vertrauen der Benutzer, indem Sie klar definieren, wie ihre Daten verwendet werden.

  • Der Zugriff auf Daten und Dienste, die auf Ihrer Plattform gehostet werden, kann durch Aufheben der Verknüpfung von Konten widerrufen werden. Durch die Implementierung eines optionalen Token-Sperrendpunkts können Sie mit von Google initiierten Ereignissen synchron bleiben, während Sie mit Cross-Account Protection (RISC) Google über nicht verknüpfte Ereignisse auf Ihrer Plattform informieren können.

Kontoverknüpfungsabläufe

Es gibt 3 Google Account Linking-Flows, die alle auf OAuth basieren und erfordern, dass Sie OAuth 2.0-konforme Autorisierungs- und Token-Exchange-Endpunkte verwalten oder steuern.

Während des Verknüpfungsprozesses stellen Sie Zugriffstoken für einzelne Google-Konten an Google aus, nachdem Sie die Zustimmung der Kontoinhaber erhalten haben, ihre Konten zu verknüpfen und Daten zu teilen.

OAuth-Verknüpfung ('Web OAuth')

Dies ist der grundlegende OAuth-Ablauf , der Benutzer zum Verknüpfen an Ihre Website sendet. Der Benutzer wird auf Ihre Website weitergeleitet, um sich in seinem Konto anzumelden. Nach der Anmeldung stimmt der Nutzer zu, seine Daten in Ihrem Dienst mit Google zu teilen. Zu diesem Zeitpunkt sind das Google-Konto des Nutzers und Ihr Dienst verknüpft.

OAuth Linking unterstützt den Autorisierungscode und implizite OAuth-Flows. Ihr Dienst muss einen OAuth 2.0-kompatiblen Autorisierungsendpunkt für den impliziten Fluss hosten und bei Verwendung des Autorisierungscodeflusses sowohl einen Autorisierungs- als auch einen Token-Austauschendpunkt verfügbar machen.

Abbildung 1 . Kontoverknüpfung auf dem Telefon eines Benutzers mit Web OAuth

OAuth-basiertes App Flip Linking ('App Flip')

Ein OAuth-Flow, der Benutzer zur Verknüpfung an Ihre App sendet.

OAuth-basiertes App Flip Linking führt Benutzer beim Wechsel zwischen Ihren verifizierten mobilen Android- oder iOS-Apps und der Google-Plattform dazu, die vorgeschlagenen Änderungen beim Datenzugriff zu überprüfen und ihre Zustimmung zu erteilen, ihr Konto auf Ihrer Plattform mit ihrem Google-Konto zu verknüpfen. Um App Flip zu aktivieren, muss Ihr Dienst OAuth Linking oder OAuth-basiertes Google Sign-In Linking mithilfe des Autorisierungscode- Flusses unterstützen.

App Flip wird sowohl für Android als auch für iOS unterstützt .

Wie es funktioniert:

Die Google App prüft, ob Ihre App auf dem Gerät des Nutzers installiert ist:

  • Wenn die App gefunden wird, wird der Benutzer zu Ihrer App "gespiegelt". Ihre App holt die Zustimmung des Nutzers ein, das Konto mit Google zu verknüpfen, und wechselt dann zurück zur Google-Oberfläche.
  • Wenn die App nicht gefunden wird oder während des App-Flip-Linking-Prozesses ein Fehler auftritt, wird der Benutzer zum Streamlined- oder Web-OAuth-Flow umgeleitet.

Abbildung 2 . Kontoverknüpfung auf dem Telefon eines Benutzers mit App Flip

OAuth-basiertes Streamlined Linking ('Streamlined')

OAuth-basiertes Google-Anmelden Durch die optimierte Verknüpfung wird Google-Anmeldung zusätzlich zur OAuth-Verknüpfung hinzugefügt, sodass Benutzer den Verknüpfungsprozess vollständig verknüpfen können, ohne die Google-Oberfläche zu verlassen, wodurch Reibungen und Drop-Offs verringert werden. OAuth-basiertes Streamlined Linking bietet die beste Benutzererfahrung mit nahtloser Anmeldung, Kontoerstellung und Kontoverknüpfung, indem Google Sign-In mit OAuth-Verknüpfung kombiniert wird. Ihr Dienst muss OAuth 2.0-kompatible Autorisierungs- und Token-Exchange-Endpunkte unterstützen. Darüber hinaus muss der Token - Austausch-Endpunkt unterstützen JSON Web Token (JWT) Behauptungen und die Umsetzung check , create und get , Absichten.

Wie es funktioniert:

Google bestätigt das Benutzerkonto und gibt diese Informationen an Sie weiter:

  • Wenn für den Nutzer in Ihrer Datenbank ein Konto vorhanden ist, verknüpft der Nutzer sein Google-Konto erfolgreich mit seinem Konto in Ihrem Dienst.
  • Wenn für den Benutzer in Ihrer Datenbank kein Konto vorhanden ist, kann der Benutzer entweder ein neues 3P-Konto mit den von Google bereitgestellten Informationen erstellen: E-Mail, Name und Profilbild , oder sich anmelden und mit einer anderen E-Mail verknüpfen (dies erfordert sie) um sich über Web OAuth bei Ihrem Dienst anzumelden).

Abbildung 3 . Kontoverknüpfung auf dem Telefon eines Benutzers mit optimierter Verknüpfung

Welchen Flow solltest du verwenden?

Wir empfehlen, alle Flows zu implementieren, um sicherzustellen, dass Benutzer die beste Verknüpfungserfahrung erhalten. Die Streamlined- und App-Flip-Flows reduzieren die Verbindungsreibung, da Benutzer den Verknüpfungsprozess in sehr wenigen Schritten abschließen können. Die Web-OAuth-Verknüpfung hat den geringsten Aufwand und ist ein guter Ausgangspunkt, um die anderen Verknüpfungsabläufe hinzuzufügen.

Arbeiten mit Token

Die Verknüpfung von Google-Konten basiert auf dem Industriestandard OAuth 2.0.

Sie stellen Zugriffstoken für einzelne Google-Konten an Google aus, nachdem Sie die Zustimmung der Kontoinhaber erhalten haben, ihre Konten zu verknüpfen und Daten zu teilen.

Token-Typen

OAuth 2.0 verwendet Zeichenfolgen, die als Token bezeichnet werden, um zwischen dem Benutzeragenten, der Clientanwendung und dem OAuth 2.0-Server zu kommunizieren.

Während der Kontoverknüpfung können drei Arten von OAuth 2.0-Token verwendet werden:

  • Autorisierungscode . Ein kurzlebiges Token, das gegen ein Zugriffs- und ein Aktualisierungstoken ausgetauscht werden kann. Aus Sicherheitsgründen ruft Google Ihren Autorisierungsendpunkt an, um eine einmalige Verwendung oder einen sehr kurzlebigen Code zu erhalten.

  • Zugriffstoken . Ein Token, das dem Inhaber Zugriff auf eine Ressource gewährt. Um die Exposition zu begrenzen, die sich aus dem Verlust dieses Tokens ergeben könnte, hat es eine begrenzte Lebensdauer, die normalerweise nach etwa einer Stunde abläuft.

  • Token aktualisieren . Ein langlebiges Token, das nach Ablauf eines Zugriffstokens gegen ein neues Zugriffstoken ausgetauscht werden kann. Wenn Ihr Dienst in Google integriert ist, wird dieses Token ausschließlich von Google gespeichert und verwendet. Google ruft Ihren Token Exchange-Endpunkt auf, um Aktualisierungstoken gegen Zugriffstoken auszutauschen, die wiederum für den Zugriff auf Benutzerdaten verwendet werden.

Token-Handling

Race-Bedingungen in Cluster-Umgebungen und Client-Server-Austausch können bei der Arbeit mit Token zu komplexen Zeit- und Fehlerbehandlungsszenarien führen. Beispielsweise:

  • Sie erhalten eine Anforderung für ein neues Zugriffstoken und stellen ein neues Zugriffstoken aus. Gleichzeitig erhalten Sie eine Anforderung für den Zugriff auf die Ressource Ihres Dienstes unter Verwendung des vorherigen, nicht abgelaufenen Zugriffstokens.
  • Ihre Antwort auf das Aktualisierungstoken muss noch von Google empfangen werden (oder wird von Google nie empfangen). In der Zwischenzeit wird das zuvor gültige Aktualisierungstoken in einer Anfrage von Google verwendet.

Anfragen und Antworten können in beliebiger Reihenfolge oder gar nicht eingehen, da asynchrone Dienste in einem Cluster ausgeführt werden, das Netzwerkverhalten oder andere Mittel.

Ein sofortiger und vollständig konsistenter gemeinsamer Status sowohl innerhalb als auch zwischen Ihren und Googles Token-Handling-Systemen kann nicht garantiert werden. Mehrere gültige, nicht abgelaufene Token können innerhalb oder zwischen Systemen innerhalb kurzer Zeit nebeneinander existieren. Um negative Auswirkungen auf die Benutzer zu minimieren, empfehlen wir Folgendes:

  • Akzeptieren Sie nicht abgelaufene Zugriffstoken, auch nachdem ein neueres Token ausgestellt wurde.
  • Verwenden Sie Alternativen zum Aktualisieren der Token-Rotation .
  • Unterstützt mehrere gleichzeitig gültige Zugriffs- und Aktualisierungstoken. Aus Sicherheitsgründen sollten Sie die Anzahl der Token und die Lebensdauer der Token begrenzen.
Wartung und Ausfallbehandlung

Während der Wartung oder bei ungeplanten Ausfällen kann Google möglicherweise Ihre Autorisierungs- oder Token-Exchange-Endpunkte nicht aufrufen, um Zugriff zu erhalten und Token zu aktualisieren.

Ihre Endpunkte sollten mit einem 503 Fehlercode und einem leeren Text antworten. In diesem Fall wiederholt Google fehlgeschlagene Token-Austauschanforderungen für eine begrenzte Zeit. Sofern Google später Aktualisierungs- und Zugriffstoken erhalten kann, sind fehlgeschlagene Anforderungen für Nutzer nicht sichtbar.

Fehlgeschlagene Anforderungen für ein Zugriffstoken führen zu einem sichtbaren Fehler, wenn sie von einem Benutzer initiiert werden. Benutzer müssen Verbindungsfehler erneut versuchen, wenn der implizite OAuth 2.0-Fluss verwendet wird.

Empfehlungen

Es gibt viele Lösungen, um die Auswirkungen auf die Wartung zu minimieren. Einige Optionen zu berücksichtigen:

  • Behalten Sie Ihren vorhandenen Dienst bei und leiten Sie eine begrenzte Anzahl von Anforderungen an Ihren neu aktualisierten Dienst weiter. Migrieren Sie alle Anforderungen erst, nachdem Sie die erwartete Funktionalität bestätigt haben.

  • Reduzieren Sie die Anzahl der Token-Anforderungen während des Wartungszeitraums:

    • Begrenzen Sie die Wartungszeiträume auf weniger als die Lebensdauer des Zugriffstokens.

    • Erhöhen Sie vorübergehend die Lebensdauer des Zugriffstokens:

      1. Erhöhen Sie die Token-Lebensdauer auf mehr als den Wartungszeitraum.
      2. Warten Sie doppelt so lange wie die Lebensdauer Ihres Zugriffstokens, damit Benutzer kurzlebige Token gegen Token mit längerer Dauer austauschen können.
      3. Geben Sie die Wartung ein.
      4. Antworten Sie auf Token-Anforderungen mit einem 503 Fehlercode und einem leeren Text.
      5. Beenden Sie die Wartung.
      6. Verringern Sie die Token-Lebensdauer wieder auf den Normalwert.

Registrierung bei Google

Wir benötigen Details zu Ihrem OAuth 2.0-Setup und zur Freigabe von Anmeldeinformationen, um die Kontoverknüpfung zu ermöglichen. Siehe Registrierung für Details.