Übersicht

Mit einer 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 für Ihre Apps und Dienste von Google freizugeben.

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

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

Anwendungsfälle

Hier sind einige Gründe, die zur Verknüpfung mit Google-Konten führen:

  • Daten von Ihrer Plattform für Google-Apps und -Dienste freigeben.

  • Ihre Video- und Filminhalte über Google TV abspielen

  • Mit der Google Home App und Google Assistant kannst du über Google Smart Home verbundene Geräte verwalten und steuern &t „Hey Google, schalte das Licht an“.

  • Mit Unterhaltungen und „Hey Google, bestelle meine üblichen Bestellungen bei Starbucks“ benutzerdefinierte Google Assistant-Funktionen erstellen.

  • Wenn du dein Google-Konto mit einem Prämienpartner-Konto verknüpfst, kannst du Nutzern die Möglichkeit geben, sich Livestreams auf YouTube anzusehen, um Belohnungen zu erhalten.

  • Neue Konten während der Registrierung mit den einvernehmlich freigegebenen Daten aus einem Google-Kontoprofil vorab ausfüllen.

Unterstützte Funktionen

Diese Funktionen werden über die Google-Kontoverknüpfung unterstützt:

  • Daten schnell und einfach mit dem impliziten Vorgang der OAuth-Verknüpfung freigeben

  • Mit dem Autorisierungscode für OAuth-Verknüpfungen lässt sich die Sicherheit erhöhen.

  • Melde dich bei bestehenden Nutzern an oder registriere neue Nutzer, die von Google verifiziert sind, auf deiner Plattform. Fordern Sie ihre Einwilligung an und geben Sie Daten sicher über die optimierte Verknüpfung weiter.

  • Mit App Flip reibungsloser arbeiten Über eine vertrauenswürdige Google-App wird durch einmaliges Tippen deine sichere Android- oder iOS-App sicher geöffnet. Durch einmaliges Tippen wird die Nutzereinwilligung erteilt und Konten werden verknüpft.

  • Definieren Sie benutzerdefinierte Bereiche, um nur erforderliche Daten freizugeben, um den Datenschutz für Nutzer zu verbessern. Sie erhöhen das Vertrauen der Nutzer, indem Sie genau festlegen, 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. Wenn Sie einen Endpunkt zum Widerrufen des Tokens implementieren, bleiben Sie mit den von Google initiierten Ereignissen synchron. Mit dem kontoübergreifenden Schutz (RISC) können Sie Google über Ereignisse informieren, bei denen die Verknüpfung auf Ihrer Plattform aufgehoben wird.

Kontoverknüpfungen

Es gibt drei Abläufe für die Google-Kontoverknüpfung, die alle OAuth-basiert sind und bei denen Sie OAuth 2.0-konforme Endpunkte für die Autorisierung und den Tokenaustausch verwalten oder steuern müssen.

Während der Verknüpfung stellen Sie Zugriffstokens für Google für einzelne Google-Konten aus, nachdem die Inhaber der Konten ihre Einwilligung gegeben haben, dass sie ihre Konten verknüpfen und Daten teilen dürfen.

OAuth-Verknüpfung ('Web OAuth')

Das ist der einfache OAuth-Ablauf, mit dem Nutzer zum Verknüpfen auf Ihre Website weitergeleitet werden. Der Nutzer wird auf Ihre Website weitergeleitet und kann sich dort anmelden. Nach der Anmeldung stimmt der Nutzer zu, dass seine Daten in Ihrem Dienst mit Google geteilt werden dürfen. 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. Ihr Dienst muss einen 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 verfügbar machen.

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

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

Ein OAuth-Vorgang, der Nutzer zum Verknüpfen an Ihre App weiterleitet.

OAuth-basierte App-Flip-Links führen Nutzer auf ihrem Weg zwischen überprüften Android- oder iOS-Apps und der Google-Plattform durch. So können sie die vorgeschlagenen Änderungen am Datenzugriff prüfen und einwilligen, ihr Konto auf der Plattform mit ihrem Google-Konto zu verknüpfen. Zum Aktivieren von App Flip muss dein Dienst die OAuth-Verknüpfung oder die OAuth-basierte Google Log-in-Verknüpfung mit dem Autorisierungscode unterstützen.

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

Funktionsweise:

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

  • Wenn die App gefunden wird, wird der Nutzer zu Ihrer App „gedreht“. Ihre App holt die Einwilligung des Nutzers ein, das Konto mit Google zu verknüpfen, und kehrt dann zurück zur Google-Oberfläche.
  • Wenn die App nicht gefunden wird oder ein Fehler beim Verknüpfen der App auftritt, wird der Nutzer zum optimierten oder Web-OAuth-Vorgang weitergeleitet.

Abbildung 2. Kontoverknüpfung auf einem Smartphone mit App Flip

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

Durch die OAuth-basierte, optimierte Google Log-in-Verknüpfung wird Google Log-in zusätzlich zu OAuth-Verknüpfungen hinzugefügt. So können Nutzer die Verknüpfung direkt von der Google-Oberfläche aus abschließen, wodurch Reibungspunkte und Abbrüche vermieden werden. OAuth-basierte, optimierte Verknüpfung bietet eine nahtlose Anmeldung, Kontoverknüpfung und Kontoverknüpfung durch die Kombination von Google Log-in mit OAuth-Verknüpfungen. Ihr Dienst muss OAuth 2.0-konforme Autorisierungs- und Token-Exchange-Endpunkte unterstützen. Außerdem muss der Tokenaustausch-Endpunkt JSON Web Token (JWT) unterstützen und die Intents check, create und get implementieren.

Funktionsweise:

Google beansprucht das Nutzerkonto und gibt folgende 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 Ihre Nutzer in der Datenbank kein Konto vorhanden ist, kann der Nutzer entweder ein neues Konto mit den angegebenen Informationen erstellen (E-Mail-Adresse, Name und Profilbild) oder sich mit einer anderen E-Mail-Adresse anmelden. Dazu ist eine Anmeldung im Dienst über Web-OAuth erforderlich.

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

Welchen Ablauf sollten Sie verwenden?

Wir empfehlen, alle Abläufe zu implementieren, damit die Verknüpfung optimal funktioniert. Durch den optimierten Prozess und den App-Flip-Flow können Nutzer die Verknüpfung mit wenigen Schritten abschließen. Die Web-OAuth-Verknüpfungen sind am einfachsten und ein guter Ausgangspunkt, um danach weitere hinzufügen zu können.

Mit Tokens arbeiten

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

Sie stellen Zugriffstokens für Google für einzelne Google-Konten aus, nachdem die Inhaber der Konten ihre Einwilligung gegeben haben, dass sie ihre Konten verknüpfen und Daten teilen dürfen.

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.

Bei Google registrieren

Wir benötigen Details zu deiner OAuth 2.0-Einrichtung und geben Anmeldedaten weiter, um die Kontoverknüpfung zu ermöglichen. Weitere Informationen