Übersicht

Mit der OAuth-basierten App-Flip-Verknüpfung (App-Flip) können Nutzer ihre Konten in Ihrem Authentifizierungssystem schnell mit ihren Google-Konten verknüpfen. Wenn Ihre App auf dem Smartphone des Nutzers installiert ist, wenn er den Kontoverknüpfungsvorgang startet, wird er nahtlos zu Ihrer App weitergeleitet, um die Nutzerautorisierung zu erhalten.

Dieser Ansatz bietet einen schnelleren Verknüpfungsvorgang, da der Nutzer seinen Nutzernamen und sein Passwort nicht noch einmal eingeben muss, um sich zu authentifizieren. Stattdessen werden die Anmeldedaten aus dem Konto des Nutzers in Ihrer App verwendet. Sobald ein Nutzer sein Google-Konto mit Ihrer App verknüpft hat, kann er alle von Ihnen entwickelten Integrationen nutzen.

Sie können App-Flip für iOS- und Android-Apps einrichten.

In dieser Abbildung sehen Sie die Schritte, die ein Nutzer ausführen muss, um sein Google-Konto mit Ihrem Authentifizierungssystem zu verknüpfen. Der erste Screenshot zeigt, wie ein Nutzer Ihre App auswählen kann, wenn sein Google-Konto mit Ihrer App verknüpft ist. Der zweite Screenshot zeigt die Bestätigung für die Verknüpfung seines Google-Kontos mit Ihrer App. Der dritte Screenshot zeigt ein erfolgreich verknüpftes Nutzerkonto in der Google App.
Abbildung 1 Kontoverknüpfung auf dem Smartphone eines Nutzers mit App-Flip

Voraussetzungen

Um App-Flip zu implementieren, müssen die folgenden Voraussetzungen erfüllt sein:

  • Sie müssen eine Android- oder iOS-App haben.
  • Sie müssen einen OAuth 2.0-Server besitzen, verwalten und warten, der den OAuth 2.0-Autorisierungscodevorgang unterstützt.

OAuth-basierter App-Flip-Vorgang

Das folgende Sequenzdiagramm beschreibt die Interaktion zwischen dem Nutzer, der Google App, Ihrer App und Ihrem Autorisierungsserver für App-Flip.

Nutzer Google App Ihre App Google-Server Ihr Autorisierungs server 1. Verknüpfung wird initiiert 2. Deeplink zu Ihrer App 3. Zustimmungsbildschirm anzeigen 4. Nutzer erteilt Zustimmung 5. Autorisierungscode abrufen 6. authorization_code 7. Zur Google App zurückkehren 8. Code an Google-Server übergeben 9. Tokenaustausch (POST) 10. access_token, refresh_token 11. Nutzertokens speichern 12. Auf Nutzerressourcen zugreifen
Abbildung 2. Die Ereignisabfolge im App-Flip-Vorgang Wenn ein Autorisierungscode angegeben wird, erfolgt der Tokenaustausch zwischen Servern, genau wie beim browserbasierten OAuth-Verknüpfungsvorgang.

Rollen und Verantwortlichkeiten

In der folgenden Tabelle sind die Rollen und Verantwortlichkeiten der Akteure im App-Flip-Vorgang definiert.

Akteur / Komponente GAL-Rolle Verantwortlichkeiten
Google App / Server OAuth-Client Initiiert den Verknüpfungsvorgang, löst einen Deeplink zu Ihrer mobilen App aus, tauscht den Autorisierungscode gegen Tokens ein und speichert diese sicher, um auf die APIs Ihres Dienstes zuzugreifen.
Ihre App Autorisierungsagent Authentifiziert den Nutzer (in der Regel mit vorhandenen App-Anmeldedaten), holt die Zustimmung ein und ruft einen Autorisierungscode von Ihrem Server ab.
Ihr Autorisierungsserver Autorisierungsserver Validiert Autorisierungscodes und Aktualisierungstokens und stellt Zugriffstokens für den Google-Server aus.

Weitere Informationen zum OAuth-Verknüpfungsfluss mit Autorisierungscode finden Sie unter OAuth-Server implementieren.

Design guidelines

This section describes the design requirements and recommendations for the App Flip account linking consent screen. After Google calls your app, your app displays the consent screen to the user.

Requirements

  1. You must communicate that the user’s account is being linked to Google, not to a specific Google product, such as Google Home or Google Assistant.

Recommendations

We recommend that you do the following:

  1. Display Google's Privacy Policy. Include a link to Google’s Privacy Policy on the consent screen.

  2. Data to be shared. Use clear and concise language to tell the user what data of theirs Google requires and why.

  3. Clear call-to-action. State a clear call-to-action on your consent screen, such as “Agree and link.” This is because users need to understand what data they're required to share with Google to link their accounts.

  4. Ability to deny or cancel. Provide a way for users to go back, deny, or cancel, if they choose not to link.

  5. Ability to unlink. Offer a mechanism for users to unlink, such as a URL to their account settings on your platform. Alternatively, you can include a link to Google Account where users can manage their linked account.

  6. Ability to change user account. Suggest a method for users to switch their account(s). This is especially beneficial if users tend to have multiple accounts.

    • If a user must close the consent screen to switch accounts, send a recoverable error to Google so the user can sign in to the desired account with OAuth linking and the implicit flow.
  7. Include your logo. Display your company logo on the consent screen. Use your style guidelines to place your logo. If you wish to also display Google's logo, see Logos and trademarks.

This figure shows an example consent screen with call-outs to the
            individual requirements and recommendations to be followed when
            you design a user consent screen.
Figure 2. Account linking consent screen design guidelines.

App Flip auf OAuth-Basis einrichten

In den folgenden Abschnitten werden die Voraussetzungen für den App-Flip auf OAuth-Basis und die Konfiguration Ihres App-Flip-Projekts in der Actions Console beschrieben.

Aktion erstellen und OAuth 2.0-Server einrichten

Bevor Sie App Flip konfigurieren können, müssen Sie Folgendes tun:

App Flip in der Actions Console konfigurieren

Im folgenden Abschnitt wird beschrieben, wie Sie App Flip in der Actions Console konfigurieren.

  1. Klicken Sie oben in der Navigationsleiste auf Entwickeln. Klicken Sie dann links in der Navigationsleiste auf Konto verknüpfen.
  2. Aktiviere den Schalter neben Kontoverknüpfung.
  3. Wählen Sie unter Kontoerstellung die Option Nein, ich möchte nur die Kontoerstellung auf meiner Website zulassen aus.
  4. Klicken Sie auf Weiter.
  5. Wählen Sie unter Verknüpfungstyp in den Drop-down-Menüs OAuth und Autorisierungscode aus.
  6. Klicken Sie auf Weiter.
  7. Füllen Sie alle Felder unter OAuth-Clientinformationen aus. Wenn App Flip nicht unterstützt wird, wird stattdessen das reguläre OAuth verwendet.
  8. Klicken Sie auf Weiter.
  9. Klicken Sie unter App für die Kontoverknüpfung verwenden (optional) das Kästchen Für iOS aktivieren an.
  10. Füllen Sie das Feld Universeller Link aus. Weitere Informationen zu universellen Links
  11. Wenn Sie Ihren Client optional konfigurieren möchten, fügen Sie unter Client konfigurieren (optional) Bereiche hinzu und klicken Sie auf Bereich hinzufügen. Klicken Sie andernfalls auf Weiter.
  12. Geben Sie unter „Testanleitung“ test (oder einen beliebigen anderen String) als Platzhalter ein. Das Ausfüllen dieses Felds mit einem Testkonto ist nur erforderlich, wenn Sie Ihre Action tatsächlich zur Veröffentlichung einreichen.
  13. Klicken Sie auf Speichern.

Sie können jetzt mit dem nächsten Abschnitt fortfahren, um App Flip in Ihrer iOS- oder Android-App zu implementieren.

App Flip in Ihre nativen Apps implementieren

Wenn Sie App Flip implementieren möchten, müssen Sie den Nutzerautorisierungscode in Ihrer App so ändern, dass ein Deeplink von Google akzeptiert wird.

App Flip auf Ihrem Gerät testen

Nachdem Sie eine Aktion erstellt und App Flip in der Konsole und in Ihrer App konfiguriert haben, können Sie App Flip auf Ihrem Mobilgerät testen. Sie können die Google Assistant App verwenden, um App Flip zu testen.

So testen Sie App Flip über die Assistant App:

  1. Rufen Sie die Actions Console auf und wählen Sie Ihr Projekt aus.
  2. Klicken Sie oben in der Navigationsleiste auf Test.
  3. So starten Sie den Workflow zur Kontoverknüpfung über die Assistant App:
    1. Öffnen Sie die Google Assistant App.
    2. Klicken Sie auf Einstellungen.
    3. Klicken Sie auf dem Tab „Assistant“ auf Smart-Home-Steuerung.
    4. Klicken Sie auf Hinzufügen(+).
    5. Wählen Sie Ihre Aktion aus der Liste der Anbieter aus. In der Liste wird das Präfix „[test]“ vorangestellt. Wenn Sie Ihre [Test]-Aktion in der Liste auswählen, sollte Ihre App geöffnet werden.
    6. Prüfen Sie, ob Ihre App gestartet wurde, und beginnen Sie mit dem Test Ihres Autorisierungsablaufs.