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.

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 in Ihren Apps implementieren

Wenn Sie App-Flip implementieren möchten, müssen Sie den Autorisierungscode in Ihrer App so ändern, dass er einen Deeplink von Google akzeptiert.

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

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

App-Flip testen

App-Flip kann mit Beispiel- und Test-Apps simuliert werden, bevor verifizierte Produktions-Apps und ein funktionierender OAuth 2.0-Server verfügbar sind.

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

Vorbereitung

Wenn Sie eine Google-App simulieren und die Intent auslösen möchten, mit der Ihre App gestartet wird, laden Sie das App-Flip-Testtool für Android und iOSherunter 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.

Testablauf

  1. Öffnen Sie das App-Flip-Testtool.
  2. Drücken Sie auf Try Flip!, um die App „App-Flip-Beispiel“ zu starten.
  3. Wählen Sie in der Beispiel-App eine Antwort aus den Optionsfeldern aus.
  4. Drücken Sie auf 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 in der Produktion getestet werden, nachdem Sie die Registrierung und die Implementierung Ihres OAuth 2.0-Servers abgeschlossen haben.

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

Der Status der Kontoverknüpfung kann unter Verknüpfte Konten angezeigt 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.