Konzeptleitfaden für Google Log-in (Dialogflow)

Google Log-in (GSI) für Assistant ermöglicht die nahtlose Verknüpfung Nutzererfahrung und ist für Entwickler am einfachsten zu implementieren. Mit GSI kann deine Aktion Zugriff auf das Google-Profil deines Nutzers anfordern, während und, wenn der Nutzer einwilligt, den Namen, die E-Mail-Adresse und Ihr Profilbild. Deine Aktion kann dann anhand dieser Informationen prüfen, Nutzer ein Google-Konto in Ihrem System hat. Wenn nicht, fragt deine Aktion den Benutzer, Sie möchten ein neues Konto in Ihrem System erstellen, Profilinformationen.

GSI ist die empfohlene Lösung zur Kontoverknüpfung, wenn einer der folgenden Punkte zutrifft:

  • Sie haben noch kein Authentifizierungssystem und/oder erwarten, dass Nutzende ein Google-Konto haben sollten. Wenn deine Aktion zum Beispiel speziell für Assistant verwenden, können Sie davon ausgehen, dass alle Ihre Nutzer Google Konten.
  • Sie haben ein Authentifizierungssystem und möchten nur Nutzer verknüpfen, mit ihren Google-Konten in Ihrem System angemeldet sind.

Ob GSI die richtige Lösung für Sie ist, erfahren Sie in der Seite Art der Kontoverknüpfung auswählen

Wichtige Begriffe

Bevor Sie die Funktionsweise von GSI lesen, machen Sie sich mit den folgenden Begriffen vertraut:

  • Google-ID-Token: Eine signierte Bestätigung der Identität eines Nutzers, die Folgendes enthält: die grundlegenden Google-Profilinformationen eines Nutzers (Name, E-Mail-Adresse und Profilbild) angezeigt. Ein Google-ID-Token ist ein JSON-Webtoken (JWT).

    Das folgende Beispiel zeigt ein decodiertes Token:

{
  "sub": 1234567890,        // The unique ID of the user's Google Account
  "iss": "https://accounts.google.com",        // The token's issuer
  "aud": "123-abc.apps.googleusercontent.com", // Client ID assigned to your Actions project
  "iat": 233366400,         // Unix timestamp of the token's creation time
  "exp": 233370000,         // Unix timestamp of the token's expiration time
  "name": "Jan Jansen",
  "given_name": "Jan",
  "family_name": "Jansen",
  "email": "jan@gmail.com", // If present, the user's email address
  "locale": "en_US"
}
  • Account Sign-in Helper Intent:Ein Hilfs-Intent, den Sie aufrufen. einen Kontoverknüpfungsvorgang von Assistant anfordern. Weitere Informationen Siehe Kontoanmeldung.
    • Kontextstring:benutzerdefinierter String, den Sie dem Konto hinzufügen Anmeldehelfer-Intent, der dem Nutzer mitteilt, warum er eine Verknüpfung erstellen soll sein Konto.

Funktionsweise

Der grundlegende Ablauf für GSI sieht so aus:

  1. Deine Aktion bittet den Nutzer um Einwilligung für den Zugriff auf sein Google-Profil.
  2. Nachdem der Nutzer seine Einwilligung gegeben hat, erhält deine Aktion ein Google-ID-Token, das enthält die Google-Profilinformationen des Nutzers.
  3. Validieren und decodieren Sie das Token, um den Profilinhalt zu lesen. Wenn Sie das Actions on Google-Clientbibliothek für Node.js oder die Java-Clientbibliothek, wird das Token für Sie validiert und decodiert.
  4. Deine Aktion prüft anhand dieses Tokens, ob das Google-Profil des Nutzers Daten in Ihrem System vorhanden sind.

    1. Ist dies der Fall, hat sich der Nutzer bereits mit seinem Google-Konto. Der Nutzer kann die Unterhaltung mit dem Assistant mit seiner Identität, die mit seinem Google-Konto verknüpft ist.
    2. Ist dies nicht der Fall, kann der Nutzer ein neues Konto in Ihrem System erstellen. die im Google-ID-Token enthaltenen Informationen Der Nutzer kann dann die Unterhaltung mit Assistant mit dem neuen verknüpften Konto fortsetzen.

Google Log-in-Abläufe

In diesem Abschnitt werden die verschiedenen Abläufe beschrieben, die mit Google Log-in möglich sind.

Ablauf 1: Nutzerinformationen sind in Ihrem System vorhanden

Das folgende Diagramm zeigt den End-to-End-Ablauf mit GSI, wenn die die Daten des Nutzers sind bereits in Ihrem System vorhanden:

In diesem Fall rufen Sie den Hilfs-Intent actions.intent.SIGN_IN mit einem Kontextstring, den Sie anpassen. Bei diesem Intent wird der Nutzer um die Berechtigung zum Zugriff auf ihre Google-Profilinformationen

Nachdem der Nutzer eingewilligt hat, sendet Assistant eine Anfrage mit dem Profilinformationen für user@gmail.com. In diesem Fall werden die Informationen das im Google-ID-Token für user@gmail.com enthalten ist, stimmt mit einem Konto in überein. damit die Identität des Nutzers in deiner Aktion automatisch verknüpft wird mit diesem Konto verknüpfen. Der Webhook kann dann die übliche Bestellung des Nutzers auf dem und entsprechend reagieren.

Ablauf 2: Die Daten des Nutzers sind nicht in Ihrem System vorhanden

Das folgende Diagramm zeigt den End-to-End-Ablauf mit GSI, wenn die Daten des Nutzers sind nicht in Ihrem System vorhanden:

In diesem Fall werden die im Google-ID-Token für user@gmail.com stimmt mit keinem Konto in deinem System überein, daher kann Assistant wird der Nutzer gefragt, ob er ein neues Konto erstellen möchte. Der Nutzer kann die Kontoerstellung per Sprachbefehl statt auf einem Screening-Gerät.

Wenn der Nutzer der Erstellung eines Kontos zustimmt, verwendet Ihr Dienst die Informationen im ID-Token (Name und E-Mail-Adresse des Nutzers), um ein Konto für Nutzenden. Sobald das Konto erstellt ist, wird die Identität des Nutzers in deiner Aktion mit ihrem neuen Google-Konto verknüpft ist.

In diesem Fall hat die nutzende Person keine übliche Bestellung, weil sie neu bei den Dienst, sodass deine Aktion fragt, was sie bestellen möchte. Ich Sie können den Nutzer auch fragen, ob er seine letzte Bestellung in der üblichen Reihenfolge angezeigt.