Google-Kontoverknüpfung mit OAuth-basiertem App-Flip

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.

Gestaltungsrichtlinien

In diesem Abschnitt werden die Designanforderungen und ‑empfehlungen für den Zustimmungsbildschirm für die App-Flip-Kontoverknüpfung beschrieben. Nachdem Google Ihre App aufgerufen hat, zeigt Ihre App dem Nutzer den Zustimmungsbildschirm an.

Voraussetzungen

  1. Sie müssen dem Nutzer mitteilen, dass sein Konto mit Google verknüpft wird, nicht mit einem bestimmten Google-Produkt wie Google Home oder Google Assistant.

Empfehlungen

Wir empfehlen Folgendes:

  1. Datenschutzerklärung von Google anzeigen Fügen Sie auf dem Zustimmungsbildschirm einen Link zur Datenschutzerklärung von Google ein.

  2. Zu teilende Daten: Verwenden Sie eine klare und prägnante Sprache, um dem Nutzer mitzuteilen, welche seiner Daten Google benötigt und warum.

  3. Klarer Call-to-Action: Geben Sie auf dem Einwilligungsbildschirm einen klaren Call-to-Action an, z. B. „Zustimmen und verknüpfen“. Nutzer müssen verstehen, welche Daten sie mit Google teilen müssen, um ihre Konten zu verknüpfen.

  4. Möglichkeit zum Ablehnen oder Kündigen: Bieten Sie Nutzern die Möglichkeit, zurückzugehen, die Verknüpfung abzulehnen oder abzubrechen, wenn sie keine Verknüpfung wünschen.

  5. Verknüpfung aufheben: Bieten Sie Nutzern eine Möglichkeit, die Verknüpfung aufzuheben, z. B. eine URL zu ihren Kontoeinstellungen auf Ihrer Plattform. Alternativ können Sie einen Link zu Google-Konto einfügen, über den Nutzer ihr verknüpftes Konto verwalten können.

  6. Nutzerkonto ändern: Schlagen Sie Nutzern eine Methode vor, mit der sie ihr(e) Konto(s) wechseln können. Das ist besonders dann von Vorteil, wenn Nutzer mehrere Konten haben.

    • Wenn ein Nutzer den Zustimmungsbildschirm schließen muss, um das Konto zu wechseln, senden Sie einen behebaren Fehler an Google, damit sich der Nutzer mit OAuth-Verknüpfung und dem impliziten Ablauf im gewünschten Konto anmelden kann.
  7. Fügen Sie Ihr Logo ein. Ihr Unternehmenslogo auf dem Zustimmungsbildschirm anzeigen Platzieren Sie Ihr Logo gemäß Ihren Style-Richtlinien. Wenn Sie auch das Google-Logo anzeigen möchten, lesen Sie den Abschnitt Logos und Marken.

In dieser Abbildung sehen Sie ein Beispiel für einen Zustimmungsbildschirm mit Hinweisen zu den einzelnen Anforderungen und Empfehlungen, die beim Entwerfen eines Zustimmungsbildschirms für Nutzer zu beachten sind.
Abbildung 2. Designrichtlinien für den Zustimmungsbildschirm für die Kontoverknüpfung

App-Flip in Ihren nativen Apps implementieren

Für die Implementierung von App Flip müssen Sie den Autorisierungscode des Nutzers in Ihrer App so ändern, dass ein Deeplink von Google akzeptiert wird.

Wenn du App-Flip in deiner Android-App unterstützen möchtest, folge der Anleitung im Implementierungsleitfaden für Android.

Wenn Sie App-Flip in Ihrer iOS-App unterstützen möchten, folgen Sie der Anleitung im Implementierungsleitfaden für iOS.

App-Flip testen

App Flip kann mit Beispiel- und Test-Apps simuliert werden, bevor Produktions-Apps verifiziert und ein funktionierender OAuth 2.0-Server zur Verfügung steht.

Bei App-Flip öffnet eine Google-App zuerst Ihre App, die dann eine Autorisierungscode-Antwort von Ihrem OAuth 2.0-Server anfordert. Im letzten Schritt wird die Antwort an die Google-App zurückgegeben.

Voraussetzungen

Wenn Sie eine Google-App simulieren und den Intent auslösen möchten, mit dem Ihre App gestartet wird, laden Sie das App Flip-Testtool für Android und iOS herunter und installieren Sie es.

Laden Sie das App-Flip-Beispiel für Android und iOS herunter und installieren Sie es, um Ihre App zu simulieren und einen OAuth 2.0-Antworttyp auszuwählen.

Testabfolge

  1. Öffnen Sie das App Flip-Testtool.
  2. Drücken Sie auf Try Flip!, um die App-Flip-Beispiel-App zu starten.
  3. Wähle in der Beispiel-App eine Antwort mit den Optionsfeldern aus.
  4. Drücken Sie die Taste Send, um eine simulierte OAuth 2.0-Antwort an das Testtool zurückzugeben.
  5. Prüfen Sie die Protokollmeldungen des Testtools auf einen auth_code oder Fehlerdetails.

Produktionstests

App Flip kann nach Abschluss der Registrierung und der OAuth 2.0-Serverimplementierung in der Produktionsumgebung getestet werden.

Für automatisierte Tests wird ein einzelnes Google-Konto und eine aufgabenspezifische E-Mail-Adresse empfohlen.

Der Status der Kontoverknüpfung kann unter Verknüpfte Konten eingesehen werden, wenn Sie als Inhaber des Google-Kontos angemeldet sind. Hier können Sie auch die Verknüpfung von Konten zwischen wiederholten Tests aufheben.

Optional können Sie RISC implementieren, um die Verknüpfung programmatisch aufzuheben und Google über die Änderung zu benachrichtigen.