Login dengan Google (GSI) untuk Asisten memberikan penautan yang paling lancar pengalaman bagi pengguna dan merupakan alur yang paling mudah untuk diterapkan oleh pengembang. Dengan GSI, Action Anda dapat meminta akses ke profil Google pengguna selama percakapan dan, jika pengguna setuju, menerima nama pengguna, alamat email, dan foto profil Anda. Action Anda kemudian dapat menggunakan informasi ini untuk memeriksa apakah memiliki Akun Google di sistem Anda. Jika tidak, Action Anda akan menanyakan pengguna apakah mereka ingin membuat akun baru di sistem Anda berdasarkan informasi profil.
GSI adalah solusi penautan akun yang direkomendasikan jika salah satu hal berikut berlaku:
- Anda belum memiliki sistem autentikasi dan/atau Anda mengharapkan semua pengguna untuk memiliki Akun Google. Misalnya, jika Action Anda secara khusus yang menarget Asisten, Anda dapat berharap semua pengguna memiliki menggunakan akun layanan.
- Anda memiliki sistem otentikasi yang ada dan hanya ingin menautkan pengguna yang login ke sistem Anda menggunakan Akun Google mereka.
Untuk memverifikasi bahwa GSI adalah solusi yang tepat untuk Anda, lihat Halaman Pilih jenis penautan akun.
Istilah utama
Sebelum membaca cara kerja GSI, pahami persyaratan berikut:
Token ID Google: Pernyataan bertanda tangan tentang identitas pengguna yang berisi informasi profil Google dasar pengguna (nama, alamat email, dan gambar profil tertentu). Token ID Google adalah Token Web JSON (JWT).
Berikut adalah contoh token yang didekode:
{ "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" }
- Intent helper login akun: Intent bantuan yang Anda panggil
meminta alur penautan akun dari Asisten. Untuk informasi selengkapnya,
lihat Login Akun.
- String konteks: String yang disesuaikan yang Anda tambahkan ke akun intent helper login yang memberi tahu pengguna alasan Anda mengharuskan mereka menautkan akun mereka.
Cara kerjanya
Alur dasar untuk GSI adalah sebagai berikut:
- Action Anda meminta izin kepada pengguna untuk mengakses profil Google miliknya.
- Setelah pengguna memberikan izin, Action Anda akan menerima token ID Google yang berisi informasi profil Google pengguna.
- Validasi dan dekode token untuk membaca konten profil. Jika Anda menggunakan Library klien Actions on Google untuk Node.js atau library klien Java, ia akan memvalidasi dan memecahkan kode token tersebut.
Action Anda menggunakan token ini untuk memeriksa apakah profil Google pengguna informasi ada di dalam sistem.
- Jika ya, pengguna telah masuk ke sistem Anda dengan Akun Google. Pengguna dapat melanjutkan percakapan dengan Asisten dengan identitas mereka yang ditautkan ke Akun Google mereka.
Jika tidak, pengguna dapat membuat akun baru di sistem Anda dengan informasi yang terkandung di token ID Google. Kemudian pengguna dapat melanjutkan percakapan dengan Asisten dengan menautkan akun barunya.
Alur Login dengan Google
Bagian ini menjelaskan berbagai alur yang dapat terjadi dengan Login dengan Google.
Alur 1: Informasi pengguna ada dalam sistem Anda
Diagram berikut menunjukkan alur end-to-end yang terjadi pada GSI saat informasi pengguna sudah ada di sistem Anda:
Dalam hal ini, Anda memanggil intent bantuan actions.intent.SIGN_IN
dengan
string konteks yang disesuaikan. Intent ini meminta izin kepada pengguna untuk
mengakses informasi profil Google mereka.
Setelah pengguna memberikan izin, Asisten akan mengirimkan permintaan yang berisi
informasi profil untuk user@gmail.com
. Dalam kasus ini, informasi
yang ada dalam token ID Google untuk user@gmail.com
cocok dengan akun di
sehingga identitas pengguna di Action Anda ditautkan secara otomatis
ke akun tersebut. Kemudian, webhook Anda dapat membaca pesanan biasa pengguna dari
{i>database<i} dan memberikan
respons yang sesuai.
Alur 2: Informasi pengguna tidak ada di sistem Anda
Diagram berikut menunjukkan alur end-to-end yang terjadi dengan GSI saat informasi pengguna tidak ada di sistem Anda:
Dalam hal ini, informasi yang terkandung
dalam token ID Google untuk
user@gmail.com
tidak cocok dengan akun di sistem Anda, jadi Asisten
bertanya kepada pengguna apakah mereka
ingin membuat akun baru. Pengguna dapat menyelesaikan
proses pembuatan akun dengan
suara daripada mentransfer ke
perangkat yang disaring.
Jika pengguna setuju untuk membuat akun, layanan Anda akan menggunakan informasi tersebut di token ID (nama dan alamat email pengguna) untuk membuat akun bagi pengguna. Setelah akun dibuat, identitas pengguna di Action Anda ditautkan ke Akun Google baru mereka.
Dalam hal ini, pengguna tidak memiliki pesanan yang biasa karena mereka baru saja layanan, sehingga Action Anda menanyakan apa yang ingin mereka pesan. Anda dapat bertanya kepada pengguna apakah mereka ingin mengatur pesanan terakhir mereka seperti urutan mereka biasanya.