Übersicht

Mit Sammlungen den Überblick behalten Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.

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 types

OAuth 2.0 uses strings called tokens to communicate between the user agent, the client application, and the OAuth 2.0 server.

Three types of OAuth 2.0 tokens can be used during account linking:

  • Authorization code. A short-lived token that can be exchanged for an access and a refresh token. For security purposes, Google calls your authorization endpoint to obtain a single use or very short-lived code.

  • Access token. A token that grants the bearer access to a resource. To limit exposure that could result from the loss of this token, it has a limited lifetime, usually expiring after an hour or so.

  • Refresh token. A long-lived token that can be exchanged for a new access token when an access token expires. When your service integrates with Google, this token is exclusively stored and used by Google. Google calls your token exchange endpoint to exchange refresh tokens for access tokens, which are in turn used to access user data.

Token handling

Race conditions in clustered environments and client-server exchanges can result in complex timing and error handling scenarios when working with tokens. For example:

  • You receive a request for a new access token, and you issue a new access token. Concurrently, you receive a request for access to your service's resource using the previous, unexpired access token.
  • Your refresh token reply is yet to be received (or is never received) by Google. Meanwhile, the previously valid refresh token is used in a request from Google.

Requests and replies can arrive in any order, or not at all due to asynchronous services running in a cluster, network behavior, or other means.

Immediate and fully consistent shared state both within, and between, your and Google's token handling systems cannot be guaranteed. Multiple valid, unexpired tokens can coexist within or across systems short period of time. To minimize negative user impact we recommend you do the following:

  • Accept unexpired access tokens, even after a newer token is issued.
  • Use alternatives to Refresh Token Rotation.
  • Support multiple, concurrently valid access and refresh tokens. For security, you should limit the number of tokens and token lifetime.
Maintenance and outage handling

During maintenance or unplanned outages Google might be unable to call your authorization or token exchange endpoints to obtain access and refresh tokens.

Your endpoints should respond with a 503 error code and empty body. In this case, Google retries failed token exchange requests for a limited time. Provided that Google is later able to obtain refresh and access tokens, failed requests are not visible to users.

Failing requests for an access token result in a visible error, if initiated by a user. Users will be required to retry linking failures if the implicit OAuth 2.0 flow is used.

Recommendations

There are many solutions to minimize maintenance impact. Some options to consider:

  • Maintain your existing service and route a limited number of requests to your newly updated service. Migrate all requests only after confirming expected functionality.

  • Reduce the number of token requests during the maintenance period:

    • Limit maintenance periods to less than the access token lifetime.

    • Temporarily increase the access token lifetime:

      1. Increase token lifetime to greater than maintenance period.
      2. Wait twice the duration of your access token lifetime, enabling users to exchange short lived tokens for longer duration tokens.
      3. Enter maintenance.
      4. Respond to token requests with a 503 error code and empty body.
      5. Exit maintenance.
      6. Decrease token lifetime back to normal.

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.