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:
- Deine Aktion bittet den Nutzer um Einwilligung für den Zugriff auf sein Google-Profil.
- Nachdem der Nutzer seine Einwilligung gegeben hat, erhält deine Aktion ein Google-ID-Token, das enthält die Google-Profilinformationen des Nutzers.
- 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.
Deine Aktion prüft anhand dieses Tokens, ob das Google-Profil des Nutzers Daten in Ihrem System vorhanden sind.
- 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.
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.