Übersicht

Mit einer Kontoverknüpfung können Google-Kontoinhaber 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 für Google-Apps und -Dienste freizugeben.

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 erhalten Google-Anwendungen und -Geräte Zugriff auf Ihre Dienste.

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

Anwendungsfälle

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

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

  • Videos und Filme über Google TV abspielen

  • Mit der Google Home App und Google Assistant "Hey Google, schalte das Licht an" können mit Google Smart Home verbundene Geräte verwaltet und gesteuert werden.

  • Mit den Unterhaltungsaktionen "Hey Google, bestelle mein übliches Produkt von Starbucks“ kannst du benutzerdefinierte Google Assistant-Funktionen erstellen.

  • Wenn du dein Google-Konto mit einem Konto mit Prämienpartnern verknüpfst, kannst du Nutzern Belohnungen in Form von Livestreams bieten.

  • Bei der Registrierung neue Konten vorab mit automatisch geteilten Daten aus einem Google-Kontoprofil füllen

Unterstützte Features

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

  • Daten lassen sich schnell und einfach mit dem impliziten Vorgang zur OAuth-Verknüpfung freigeben.

  • Verbessern Sie die Sicherheit mit dem Vorgang für den OAuth-Verknüpfungscode.

  • Melden Sie vorhandene Nutzer an oder registrieren Sie neue Google-bestätigte Nutzer auf Ihrer Plattform, um ihre Einwilligung einzuholen und Daten sicher über optimierte Verknüpfung freizugeben.

  • Mit App Flip die Leistung optimieren Wenn Sie einmal auf eine vertrauenswürdige Google-App tippen, werden durch die einmalige Überprüfung die bestätigte Android- oder iOS-App sicher geöffnet. Mit einem Tippen werden Nutzereinwilligung und Konten verknüpft.

  • Verbessern Sie den Datenschutz durch die Definition benutzerdefinierter Bereiche, sodass nur erforderliche Daten geteilt werden. Erhöhen Sie das Vertrauen der Nutzer, indem Sie klar festlegen, wie ihre Daten verwendet werden.

  • Der Zugriff auf Daten und Dienste, die auf Ihrer Plattform gehostet werden, kann aufgehoben werden, indem Sie die Verknüpfung der Konten aufheben. Mit einem optionalen Endpunkt zum Widerrufen des Tokens bleiben Sie mit von Google initiierten Ereignissen synchron. Der produktübergreifende Kontoschutz (RISC) hilft Ihnen dabei. können Sie Google über Ereignisse zum Aufheben der Verknüpfung auf Ihrer Plattform benachrichtigen.

Kontoverknüpfungsabläufe

Es gibt drei OAuth-basierte Abläufe für die Google-Kontoverknüpfung, die OAuth 2.0-konforme Autorisierungs- und Tokenaustauschendpunkte verwalten oder steuern müssen.

Während des Verknüpfungsvorgangs senden Sie Zugriffstokens für einzelne Google-Konten an Google, nachdem Sie die Einwilligung der Kontoinhaber zur Verknüpfung ihrer Konten und zur Freigabe von Daten erhalten haben.

OAuth-Verknüpfung (WebWeb OAuth“)

Dies ist der einfache OAuth-Ablauf, durch den Nutzer zum Verknüpfen auf Ihre Website weitergeleitet werden. Der Nutzer wird auf Ihre Website weitergeleitet, um sich in seinem Konto anzumelden. Nach der Anmeldung willigt der Nutzer ein, seine Daten in Ihrem Dienst mit Google zu teilen. 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 Autorisierungscodeflusses sowohl eine Autorisierung als auch einen Tokenaustauschendpunkt bereitstellen.

Abbildung 1. Kontoverknüpfung auf dem Smartphone eines Nutzers mit Web OAuth

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

Ein OAuth-Ablauf, durch den Nutzer zum Verknüpfen zu Ihrer App weitergeleitet werden.

OAuth-basierte App-Flip-Verknüpfung zeigt Nutzern während des Wechsels zwischen deinen bestätigten mobilen Apps für Android oder iOS und der Google-Plattform die vorgeschlagenen Änderungen am Datenzugriff an und willigst ein, ihr Konto auf deiner Plattform mit ihrem Google-Konto zu verknüpfen. Zur Aktivierung von App Flip muss Ihr Dienst UnterstützungOAuth-Verknüpfung oderOAuth-basierte Verknüpfung von Google Log-in mit derAutorisierungscode fließen.

App Flip wird für Android und iOS unterstützt.

So gehts:

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

  • Wenn die App gefunden wird, wird der Nutzer auf die App umgedreht. Ihre App holt die Einwilligung des Nutzers ein, um das Konto mit Google zu verknüpfen, und kehrt dann zur Google-Oberfläche zurück.
  • Wird bei der App-Flip-Verknüpfung keine App gefunden oder tritt ein Fehler auf, wird der Nutzer zum vereinfachten Verfahren oder zum Web-OAuth-Ablauf weitergeleitet.

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

OAuth-basierte, optimierte Verknüpfung (StreamOptimiert“)

Durch die OAuth-basierte Verknüpfung von Google Log-in Optimize wird zusätzlich zur OAuth-Verknüpfung Google Log-in hinzugefügt. So können Nutzer die Verknüpfung vornehmen, ohne die Google-Oberfläche zu verlassen, wodurch reibungslose Abläufe und Abbruchs verringert werden. Die OAuth-basierte, optimierte Verknüpfung bietet eine optimale Nutzerfreundlichkeit mit nahtloser Anmeldung, Kontoerstellung und Kontoverknüpfung. Hierzu wird Google Log-in mit OAuth-Verknüpfung kombiniert. Ihr Dienst muss OAuth 2.0-konforme Autorisierungs- und Tokenaustauschendpunkte unterstützen. Darüber hinaus muss Ihr Tokenaustausch-Endpunkt Folgendes unterstützen: JSON-Webtoken (JWT) Assertions und implementierencheck ,create undget , Intents.

So gehts:

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

  • Wenn für den Nutzer in Ihrer Datenbank ein Konto vorhanden ist, kann dieser sein Google-Konto mit seinem Konto bei Ihrem Dienst verknüpfen.
  • Wenn für den Nutzer in Ihrer Datenbank kein Konto vorhanden ist, kann er entweder ein neues Drittanbieterkonto mit den von Google bereitgestellten Informationen erstellen : E-Mail-Adresse, Name und Profilbild, oder sich anmelden und mit eine andere E-Mail-Adresse (dazu müssen sie sich über Web-OAuth beim Dienst anmelden).

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

Welchen Ablauf verwenden Sie?

Wir empfehlen alle Abläufe zu implementieren, um eine optimale Verknüpfung zu gewährleisten. Die vereinfachte und die App-Flip-Flows vereinfachen die Verknüpfung, da Nutzer die Verknüpfung in nur wenigen Schritten abschließen können. Die Web-OAuth-Verknüpfung ist am wenigsten aufwendig und eine gute erste Stelle, bevor Sie sie den anderen Verknüpfungsabläufen hinzufügen können.

Mit Tokens arbeiten

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

Sie senden Google Zugriffstokens für einzelne Google-Konten, nachdem Sie die Einwilligung der Kontoinhaber zur Verknüpfung ihrer Konten und zum Teilen von Daten erhalten haben.

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.

Bei Google registrieren

Wir benötigen Details Ihrer OAuth 2.0-Einrichtung und teilen Anmeldedaten, um die Kontoverknüpfung zu ermöglichen. Weitere Informationen finden Sie unter Registrierung.