Übersicht

Mit der Kontoverknüpfung können Inhaber von Google-Konten schnell, nahtlos und sicher eine Verbindung zu Ihren Diensten herstellen. Sie können eine Google-Kontoverknüpfung implementieren, um die Daten eines Nutzers von Ihrer Plattform mit Apps und Diensten von Google zu teilen.

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

Nutzer können ihre Konten verknüpfen oder ihre Verknüpfung aufheben und optional ein neues Konto auf Ihrer Plattform mit der Google-Kontoverknüpfung erstellen.

Anwendungsfälle

Hier sind einige Gründe für die Implementierung der Google-Kontoverknüpfung:

  • Daten Ihrer Nutzer mit Google-Apps und -Diensten von Ihrer Plattform teilen.

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

  • Mit Google Smart Home verbundene Geräte lassen sich über die Google Home App und Google Assistant verwalten und steuern. „Hey Google, schalte das Licht an“.

  • Sie können benutzerdefinierte Google Assistant-Funktionen mit Unterhaltungen und „Hey Google, bestellen Sie meine ganz normal bei Starbucks“ erstellen.

  • Du kannst Nutzern die Möglichkeit geben, Belohnungen zu erhalten, indem sie verfügbare Livestreams auf YouTube ansehen, nachdem sie ihr Google-Konto mit einem Prämienpartner-Konto verknüpft haben.

  • Sie werden bei der Registrierung automatisch mit neuen Konten aus einem Google-Kontoprofil ausgefüllt.

Unterstützte Features

Diese Funktionen werden bei der Google-Kontoverknüpfung unterstützt:

  • Mit dem impliziten Vorgang der OAuth-Verknüpfung können Sie Ihre Daten schnell und einfach freigeben.

  • Verbessern Sie die Sicherheit mit dem Autorisierungscode für die OAuth-Verknüpfung.

  • Melden Sie sich vorhandene Nutzer an oder registrieren Sie neue, von Google bestätigte Nutzer auf Ihrer Plattform, rufen Sie deren Einwilligung ab und geben Sie Daten mithilfe der optimierten Verknüpfung sicher kostenlos.

  • Mit App-Flip lassen sich Reibungslosigkeiten reduzieren. Von einer vertrauenswürdigen Google-App aus – durch einmaliges Tippen wird deine bestätigte Android- oder iOS-App sicher geöffnet – und durch einmaliges Tippen werden Nutzern die Einwilligung erteilt und Konten verknüpft.

  • Definieren Sie benutzerdefinierte Bereiche, um nur erforderliche Daten freizugeben, um den Datenschutz für Nutzer zu verbessern, und erhöhen Sie das Vertrauen der Nutzer, indem Sie genau festlegen, wie ihre Daten verwendet werden.

  • Der Zugriff auf Daten und Dienste, die auf deiner Plattform gehostet werden, kannst du widerrufen, indem du die Verknüpfung der Konten aufhebst. Mit einem optionalen Endpunkt zum Widerrufen des Tokens bleiben Sie mit von Google initiierten Ereignissen synchronisiert. Mit dem kontoübergreifenden Schutz (RISC) können Sie Google über Ereignisse zum Aufheben der Verknüpfung informieren, die auf Ihrer Plattform stattfinden.

Kontoverknüpfungen

Es gibt drei OAuth-basierte Google-Kontoverknüpfungsverläufe, bei denen Sie OAuth 2.0-konforme Autorisierungs- und Tokenendpunkte verwalten oder steuern müssen.

Während der Verknüpfung stellen Sie Google Zugriffstokens für einzelne Google-Konten aus, nachdem der Kontoinhaber eingewilligt hat, die Konten zu verknüpfen und Daten zu teilen.

OAuth-Verknüpfung ('Web OAuth')

Das ist der einfache OAuth-Vorgang, über den Nutzer zum Verknüpfen auf Ihre Website weitergeleitet werden. Der Nutzer wird auf Ihre Website weitergeleitet, um sich in seinem Konto anzumelden. Der Nutzer willigt ein, dass seine Daten mit Google in Ihrem Dienst geteilt werden. Dann sind das Google-Konto des Nutzers und Ihr Dienst verknüpft.

Die OAuth-Verknüpfung unterstützt den Autorisierungscode und implizite OAuth-Abläufe. Der Dienst muss den OAuth 2.0-konformen Autorisierungsendpunkt für den impliziten Vorgang hosten und bei der Verwendung des Autorisierungscode-Ablaufs sowohl einen Autorisierungs- als auch einen Token-Exchange-Endpunkt bereitstellen.

Abbildung 1. Kontoverknüpfung auf einem Smartphone mit Web OAuth

OAuth-basierte App-Flip-Verknüpfung ('App Flip')

OAuth-Vorgang, über den Nutzer zum Verknüpfen der App weitergeleitet werden

OAuth-basierte App-Flip-Verknüpfung führt Nutzer auf ihrem Weg zwischen bestätigten Android- oder iOS-Apps und der Google-Plattform an, um die vorgeschlagenen Änderungen beim Datenzugriff zu prüfen und einwilligen, ihr Konto auf ihrer Plattform mit ihrem Google-Konto zu verknüpfen. Zum Aktivieren von App Flip muss dein Dienst die Funktion OAuth-Verknüpfung oder OAuth-basierte Google Log-in-Verknüpfung unterstützen. Dazu wird der Autorisierungscode verwendet.

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

Funktionsweise:

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

  • Wird die App gefunden, wird der Nutzer für die App „umgedreht“. Die App holt vom Nutzer die Einwilligung ein, das Konto mit Google zu verknüpfen, und kehrt dann zur Google-Oberfläche zurück.
  • Wenn die App nicht gefunden wird oder ein Fehler beim Klappen der App auftritt, wird der Nutzer zum optimierten oder zum OAuth-Vorgang für das Web weitergeleitet.

Abbildung 2. Kontoverknüpfung auf Smartphone eines Nutzers mit App Flip

OAuth-basierte optimierte Verknüpfung ('Optimiert')

Bei der OAuth-basierten optimierten Verknüpfung von Google Log-in wird Google Log-in zusätzlich zur OAuth-Verknüpfung eingefügt. So können Nutzer die Verknüpfung abschließen, ohne die Google-Oberfläche zu verlassen. So werden Abläufe und Abläufe vermieden. Die OAuth-basierte optimierte Verknüpfung bietet eine nahtlose Nutzererfahrung mit nahtloser Anmeldung, Kontoerstellung und Kontoverknüpfung, indem Google Log-in mit OAuth-Verknüpfungen kombiniert wird. Ihr Dienst muss OAuth 2.0-konforme Endpunkte für die Autorisierung und den Tokenaustausch unterstützen. Außerdem muss Ihr Token Exchange-Endpunkt JSON Web Token (JWT)-Assertions unterstützen und die Intents check, create und get implementieren.

Funktionsweise:

Google bestätigt das Nutzerkonto und gibt die folgenden Informationen an dich weiter:

  • Wenn für den Nutzer in Ihrer Datenbank ein Konto vorhanden ist, verknüpft der Nutzer sein Google-Konto erfolgreich mit seinem Konto bei Ihrem Dienst.
  • Wenn in Ihrer Datenbank kein Konto für den Nutzer vorhanden ist, kann er entweder ein neues Drittanbieterkonto mit den von Google angegebenen Informationen erstellen : E-Mail-Adresse, Name und Profilbild. Alternativ kann er sich auch mit einer anderen E-Mail-Adresse anmelden bzw. verknüpfen, wodurch er sich über Web OAuth in Ihrem Dienst anmelden muss.

Abbildung 3. Kontoverknüpfung auf Smartphone eines Nutzers mit optimierter Verknüpfung

Welchen Workflow sollten Sie verwenden?

Wir empfehlen, alle Abläufe zu implementieren, damit Nutzer optimal miteinander verknüpft werden können. Dank des vereinfachten und App-Flip-Vorgangs können Nutzer die Verknüpfung in wenigen Schritten vornehmen. Die OAuth-Verknüpfung mit dem Web ist gering und ein guter Ausgangspunkt, wenn Sie später weitere hinzufügen möchten.

Mit Tokens arbeiten

Die Google-Kontoverknüpfung basiert auf dem Branchenstandard OAuth 2.0.

Die Zugriffstokens erhalten Google für einzelne Google-Konten, nachdem die Einwilligung des Kontoinhabers erteilt wurde, damit die Konten verknüpft und Daten geteilt werden können.

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 deiner OAuth 2.0-Einrichtung und geben Anmeldedaten kostenlos, um die Kontoverknüpfung zu aktivieren. Weitere Informationen finden Sie unter Registrierung.