Jenis penautan akun yang optimal untuk Action Anda adalah yang memberikan pengalaman paling sederhana bagi pengguna dan sesuai dengan kebutuhan aplikasi atau bisnis Anda. Memilih jenis penautan sebagian besar bergantung pada faktor-faktor berikut:
- Apakah Anda ingin mengizinkan pembuatan akun melalui suara atau tidak
- Apakah Anda ingin pengguna dapat login ke layanan Anda dengan akun non-Google atau tidak
- Apakah layanan Anda dapat menyimpan informasi rahasia atau tidak (misalnya, rahasia klien)
Untuk mengetahui jenis penautan akun ideal Anda, ikuti langkah-langkah berikut:
- Pertimbangkan pertanyaan di bagian Mengidentifikasi jenis login pilihan Anda.
- Lihat pohon keputusan untuk memilih jenis penautan Anda.
- Buka bagian yang sesuai dengan jenis awal yang Anda pilih untuk mempertajam cara kerjanya.
Mengidentifikasi jenis login pilihan Anda
Sebelum Anda melihat pohon keputusan, pertimbangkan pertanyaan-pertanyaan berikut:
- Apakah Anda berharap semua pengguna memiliki Akun Google?
- Jika Action hanya menargetkan Asisten, semua pengguna akan memiliki Akun Google. Jika Action Anda menargetkan platform di luar Asisten, tidak mungkin semua pengguna memiliki Akun Google.
- Jika layanan Anda sudah memiliki pengguna, mungkin ada beberapa pengguna yang tidak memiliki Akun Google atau tidak login ke layanan Anda dengan Akun Google.
- Jika Anda memiliki implementasi OAuth, dapatkah diperpanjang untuk mendukung protokol
Google?
- Untuk mendukung protokol Google, Anda harus dapat menambahkan fungsi
intent=get
danintent=create
ke endpoint pertukaran token Anda. Fungsi ini memungkinkan Google memeriksa apakah pengguna sudah ada di backend Anda dan mengajukan permintaan untuk membuat akun baru di layanan Anda.
- Untuk mendukung protokol Google, Anda harus dapat menambahkan fungsi
Ikuti pohon keputusan di bawah untuk mengidentifikasi jenis penautan akun yang optimal bagi Anda dan pengguna:
Setelah memilih jenis penautan, lanjutkan ke bagian yang sesuai di bawah ini untuk mempelajari lebih lanjut cara kerjanya dan membuat keputusan lebih lanjut tentang cara kerja penautan akun dalam Action Anda.
Login dengan Google dan OAuth
Jenis penautan OAuth dan Login dengan Google (GSI) menambahkan GSI selain penautan akun berbasis OAuth, yang memberikan manfaat GSI (misalnya, penautan berbasis suara untuk pengguna Google), sekaligus memungkinkan penautan akun bagi pengguna yang mendaftar ke layanan Anda dengan akun non-Google. Jenis penautan ini sangat bermanfaat bagi pengguna akhir karena memberikan alur yang lancar bagi pengguna Google dengan penggantian bagi pengguna non-Google. Untuk informasi selengkapnya tentang cara kerja jenis penautan OAuth dan GSI, lihat Panduan konsep Login dengan Google dan OAuth.
Menyempurnakan jenis penautan OAuth dan Login dengan Google
Jika menggunakan jenis penautan akun OAuth dan GSI di Action, Anda menentukan jawaban atas pertanyaan berikut di Konsol Actions untuk menentukan cara kerjanya:
Apakah Anda ingin mengaktifkan pembuatan akun suara atau hanya mengizinkan pembuatan akun di situs Anda?
Biasanya, Anda harus mengaktifkan pembuatan akun melalui suara sehingga pengguna pada perangkat yang tidak disaring dapat membuat akun tanpa harus mentransfer ke perangkat lain. Jika Anda tidak mengizinkan pembuatan akun melalui suara, Asisten akan membuka URL ke situs yang Anda berikan untuk autentikasi pengguna dan mengarahkan pengguna ke ponsel untuk melanjutkan alur penautan akun.
Namun, Anda tidak boleh mengizinkan pembuatan akun melalui suara jika salah satu dari hal berikut berlaku:
- Anda memerlukan kontrol penuh atas alur pembuatan akun. Misalnya, Anda mungkin perlu menampilkan persyaratan layanan kepada pengguna selama pembuatan akun atau jenis pemberitahuan lainnya.
- Anda ingin memastikan bahwa pengguna yang sudah memiliki akun Anda sudah login dengan akun tersebut. Misalnya, Anda mungkin ingin pengguna terus menggunakan akun mereka yang ada jika Anda menawarkan program loyalitas dan tidak ingin pengguna kehilangan poin yang diperoleh di akun mereka.
Apakah Anda ingin menggunakan alur kode otorisasi atau alur implisit?
Alur kode otorisasi dan alur implisit berbeda karena alur kode otorisasi memerlukan endpoint kedua, yaitu endpoint pertukaran token. Endpoint ini menggunakan token refresh untuk membuat token akses baru yang berumur pendek tanpa meminta pengguna untuk login lagi.
Sebaliknya, jika menggunakan alur implisit, Anda akan menampilkan token akses yang berumur panjang ke Google yang biasanya tidak perlu dibuat ulang. Untuk informasi selengkapnya tentang kode otorisasi dan alur implisit, lihat Panduan konsep Login dengan Google dan OAuth.
Google merekomendasikan untuk menggunakan alur kode otorisasi dalam Action Anda karena lebih aman. Namun, gunakan alur implisit jika layanan Anda tidak dapat menyimpan informasi rahasia (yaitu, rahasia klien). Misalnya, Anda harus menggunakan alur implisit untuk klien publik seperti aplikasi web satu halaman (SPA).
Setelah mempertimbangkan poin-poin keputusan ini, lihat pohon keputusan berikut:
Login dengan Google
Dengan jenis penautan GSI, Action Anda dapat meminta akses ke profil Google pengguna selama percakapan dan menggunakan informasi profil untuk memeriksa apakah pengguna ada di backend layanan Anda. Jika pengguna tidak ada, mereka dapat membuat akun baru di sistem Anda menggunakan informasi profil Google-nya.
Untuk GSI, Anda harus mengaktifkan pembuatan akun melalui suara, yang memungkinkan pengguna menyelesaikan seluruh alur melalui suara. Untuk mengetahui informasi selengkapnya tentang GSI, lihat Panduan konsep Login dengan Google.
OAuth
Dengan jenis penautan OAuth, pengguna login dengan alur OAuth 2 standar. Jenis penautan OAuth mendukung dua alur OAuth 2.0 standar industri: alur kode implisit dan otorisasi.
Google tidak merekomendasikan jenis penautan OAuth itu sendiri karena mengharuskan transfer pengguna dari suara ke layar untuk menyelesaikan proses login jika pengguna menggunakan perangkat yang tidak disaring. Anda dapat mempertimbangkan untuk menggunakan alur ini jika sudah memiliki penerapan server OAuth 2, dan Anda tidak dapat memperpanjang endpoint pertukaran token untuk menambahkan dukungan bagi protokol Google untuk penautan otomatis dan pembuatan akun dari token ID. Untuk informasi selengkapnya, lihat Panduan konsep OAuth.
Menyempurnakan alur
Saat menggunakan jenis penautan akun OAuth di Action, Anda harus menentukan jawaban atas pertanyaan berikut di konsol Actions untuk menentukan cara kerjanya:
Apakah Anda ingin menggunakan alur kode otorisasi atau alur implisit?
Jenis penautan OAuth mendukung dua alur OAuth 2.0 standar industri: alur kode implisit dan otorisasi. Terdapat perbedaan alur kode otorisasi dan alur implisit karena alur kode otorisasi memerlukan endpoint kedua, yaitu endpoint pertukaran token. Endpoint ini menggunakan token refresh untuk membuat token akses baru yang berumur pendek tanpa meminta pengguna untuk login lagi.
Sebaliknya, jika menggunakan alur implisit, Anda akan menampilkan token akses yang berumur panjang ke Google yang biasanya tidak perlu dibuat ulang. Untuk mengetahui informasi selengkapnya tentang kode otorisasi dan alur implisit, lihat Panduan konsep OAuth.
Google merekomendasikan untuk menggunakan alur kode otorisasi dalam Action Anda karena lebih aman. Namun, gunakan alur implisit jika layanan Anda tidak dapat menyimpan informasi rahasia (yaitu, rahasia klien). Misalnya, Anda harus menggunakan alur implisit untuk klien publik seperti aplikasi web satu halaman (SPA).