Penautan akun memungkinkan pemegang Akun Google terhubung dengan cepat, lancar, dan aman ke layanan Anda. Anda dapat memilih untuk menerapkan Penautan Akun Google untuk membagikan data pengguna dari platform Anda kepada aplikasi dan layanan Google.
Protokol OAuth 2.0 yang aman memungkinkan Anda menautkan Akun Google pengguna secara aman dengan akun mereka di platform Anda, sehingga aplikasi dan perangkat Google dapat mengakses layanan Anda.
Pengguna dapat menautkan atau membatalkan tautan akun mereka dan secara opsional membuat akun baru di platform Anda dengan Penautan Akun Google.
Kasus penggunaan
Beberapa alasan untuk menerapkan Penautan Akun Google adalah:
Bagikan data pengguna dari platform Anda dengan aplikasi dan layanan Google.
Putar konten video dan film menggunakan Google TV.
Mengelola dan mengontrol Google Smart Home perangkat terhubung menggunakan aplikasi Google Home dan Asisten Google, "Ok Google nyalakan lampu".
Buat pengalaman dan fungsionalitas Asisten Google yang disesuaikan pengguna dengan Tindakan Percakapan, "Ok Google, pesan seperti biasa dari Starbucks".
Izinkan pengguna mendapatkan reward dengan melihat live stream yang memenuhi syarat di YouTube setelah menautkan Akun Google mereka ke akun partner reward.
Mengisi otomatis akun baru selama pendaftaran dengan data yang dibagikan secara konsensual dari profil Akun Google.
Fitur yang didukung
Fitur-fitur ini didukung oleh Penautan Akun Google:
Bagikan data Anda dengan cepat dan mudah menggunakan alur implisit Penautan OAuth.
Berikan keamanan yang lebih baik dengan alur Kode otorisasi Penautan OAuth.
Proses login pengguna yang ada atau daftarkan pengguna baru terverifikasi Google ke platform Anda, dapatkan izin mereka, dan bagikan data secara aman menggunakan Penautan yang disederhanakan.
Perlancar akses dengan App Flip. Dari aplikasi Google tepercaya, sekali ketuk akan membuka aplikasi Android atau iOS terverifikasi Anda dengan aman, dan sekali ketuk akan memberikan izin pengguna dan menautkan akun.
Tingkatkan privasi pengguna dengan menentukan cakupan kustom untuk hanya membagikan data yang diperlukan, meningkatkan kepercayaan pengguna dengan menentukan cara data mereka digunakan secara jelas.
Akses ke data dan layanan yang dihosting di platform Anda dapat dicabut dengan membatalkan tautan akun. Menerapkan endpoint pencabutan token opsional memungkinkan Anda tetap sinkron dengan peristiwa yang dimulai Google, sedangkan Perlindungan Lintas Akun (RISC) memungkinkan Anda memberi tahu Google tentang setiap peristiwa pembatalan tautan yang terjadi di platform Anda.
Alur penautan akun
Terdapat 3 alur Penautan Akun Google, yang semuanya berbasis OAuth dan mengharuskan Anda mengelola atau mengontrol endpoint pertukaran token dan otorisasi yang sesuai dengan OAuth 2.0.
Selama proses penautan, Anda memberikan token akses ke Google untuk Akun Google perorangan setelah mendapatkan pemegang akun setuju untuk menautkan akun mereka dan membagikan data.
Penautan OAuth ('OAuth Web')
Ini adalah alur OAuth dasar yang mengarahkan pengguna ke situs Anda untuk ditautkan. Pengguna dialihkan ke situs Anda untuk login ke akunnya. Setelah login, pengguna setuju untuk membagikan data mereka, di layanan Anda, kepada Google. Pada saat itu, Akun Google pengguna dan layanan Anda akan ditautkan.
Penautan OAuth mendukung kode otorisasi dan alur OAuth implisit. Layanan Anda harus menghosting endpoint otorisasi yang sesuai dengan OAuth 2.0 untuk alur implisit, dan harus mengekspos endpoint otorisasi dan pertukaran token saat menggunakan alur kode otorisasi.
![](https://developers-dot-devsite-v2-prod.appspot.com/static/identity/account-linking/images/web-oauth-flow.png?authuser=19&hl=id)
Gambar 1. Penautan Akun di ponsel pengguna dengan OAuth Web
Penautan Balik Aplikasi berbasis OAuth ('Balik Aplikasi')
Alur OAuth yang mengarahkan pengguna ke aplikasi Anda untuk ditautkan.
Penautan Balik Aplikasi berbasis OAuth memandu pengguna saat mereka beralih antara aplikasi seluler Android atau iOS terverifikasi Anda dan platform Google untuk meninjau perubahan akses data yang diusulkan serta memberikan izin untuk menautkan akun mereka di platform Anda dengan Akun Google mereka. Untuk mengaktifkan App Flip, layanan Anda harus mendukung Penautan OAuth atau Penautan Login Google berbasis OAuth menggunakan alur kode otorisasi.
App Flip didukung untuk Android dan iOS.
Cara kerjanya:
Aplikasi Google memeriksa apakah aplikasi diinstal di perangkat pengguna:
- Jika aplikasi ditemukan, pengguna akan 'dibalik' ke aplikasi Anda. Aplikasi Anda mengumpulkan izin dari pengguna untuk menautkan akun dengan Google, lalu 'kembali' ke platform Google.
- Jika aplikasi tidak ditemukan atau terjadi error selama proses penautan app flip, pengguna akan dialihkan ke alur OAuth Web yang Disederhanakan.
![](https://developers-dot-devsite-v2-prod.appspot.com/static/identity/account-linking/images/app-flip-flow.png?authuser=19&hl=id)
Gambar 2. Penautan Akun di ponsel pengguna dengan App Flip
Penautan Sederhana berbasis OAuth ('Ramping')
Penautan Sederhana Login dengan Google berbasis OAuth menambahkan Login dengan Google di atas penautan OAuth, sehingga pengguna dapat menyelesaikan proses penautan tanpa meninggalkan platform Google, sehingga mengurangi hambatan dan pengguna yang tidak menyelesaikan proses penautan. Penautan Sederhana berbasis OAuth menawarkan pengalaman pengguna terbaik dengan proses login, pembuatan akun, dan penautan akun yang lancar dengan menggabungkan Login dengan Google dengan penautan OAuth. Layanan Anda harus mendukung endpoint otorisasi dan pertukaran token yang sesuai dengan OAuth 2.0.
Selain itu, endpoint pertukaran token Anda harus mendukung pernyataan JSON Web Token (JWT) dan menerapkan intent check
, create
, dan get
.
Cara kerjanya:
Google menegaskan akun pengguna dan meneruskan informasi ini kepada Anda:
- Jika sudah ada akun untuk pengguna di database Anda, berarti pengguna berhasil menautkan Akun Google dengan akunnya di layanan Anda.
- jika tidak ada akun untuk pengguna di database Anda, pengguna dapat membuat akun pihak ketiga baru dengan informasi yang dinyatakan oleh Google : email, nama, dan foto profil, atau memilih untuk login dan menautkan dengan email lain (ini akan mengharuskan pengguna untuk login ke layanan Anda melalui Web OAuth).
![](https://developers-dot-devsite-v2-prod.appspot.com/static/identity/account-linking/images/streamlined-flow.png?authuser=19&hl=id)
Gambar 3. Penautan Akun di ponsel pengguna dengan Penautan yang Disederhanakan
Alur mana yang harus Anda gunakan?
Sebaiknya terapkan semua alur untuk memastikan pengguna mendapatkan pengalaman penautan terbaik. Alur balik Aplikasi dan yang disederhanakan mengurangi hambatan penautan karena pengguna dapat menyelesaikan proses penautan dalam beberapa langkah. Penautan Web OAuth memiliki tingkat upaya terendah dan merupakan tempat yang baik untuk memulai. Setelah itu, Anda dapat menambahkan alur penautan lainnya.
Menangani token
Penautan Akun Google didasarkan pada standar industri OAuth 2.0.
Anda memberikan token akses kepada Google untuk Akun Google perorangan setelah mendapatkan pemegang akun setuju untuk menautkan akun mereka dan membagikan data.
Jenis token
OAuth 2.0 menggunakan string yang disebut token untuk berkomunikasi antara agen pengguna, aplikasi klien, dan server OAuth 2.0.
Tiga jenis token OAuth 2.0 dapat digunakan selama penautan akun:
Kode otorisasi . Token berumur pendek yang dapat ditukar dengan akses dan token penyegaran. Untuk tujuan keamanan, Google memanggil titik akhir otorisasi Anda untuk mendapatkan kode sekali pakai atau berumur sangat pendek.
Token akses . Token yang memberikan akses pembawa ke sumber daya. Untuk membatasi eksposur yang dapat diakibatkan oleh hilangnya token ini, token ini memiliki masa hidup terbatas, biasanya kedaluwarsa setelah sekitar satu jam.
Segarkan token . Token berumur panjang yang dapat ditukar dengan token akses baru ketika token akses kedaluwarsa. Saat layanan Anda terintegrasi dengan Google, token ini disimpan dan digunakan secara eksklusif oleh Google. Google memanggil titik akhir pertukaran token Anda untuk menukar token penyegaran dengan token akses, yang pada gilirannya digunakan untuk mengakses data pengguna.
Penanganan token
Kondisi balapan di lingkungan berkerumun dan pertukaran klien-server dapat mengakibatkan skenario waktu yang kompleks dan penanganan kesalahan saat bekerja dengan token. Sebagai contoh:
- Anda menerima permintaan untuk token akses baru, dan Anda mengeluarkan token akses baru. Secara bersamaan, Anda menerima permintaan untuk akses ke sumber daya layanan Anda menggunakan token akses yang sebelumnya tidak kedaluwarsa.
- Balasan refresh token Anda belum diterima (atau tidak pernah diterima) oleh Google. Sementara itu, token penyegaran yang sebelumnya valid digunakan dalam permintaan dari Google.
Permintaan dan balasan dapat tiba dalam urutan apa pun, atau tidak sama sekali karena layanan asinkron yang berjalan di cluster, perilaku jaringan, atau cara lain.
Status bersama yang langsung dan sepenuhnya konsisten baik di dalam, dan di antara, sistem penanganan token Anda dan Google tidak dapat dijamin. Beberapa token yang valid dan tidak kedaluwarsa dapat hidup berdampingan di dalam atau di seluruh sistem dalam waktu singkat. Untuk meminimalkan dampak negatif pengguna, kami menyarankan Anda melakukan hal berikut:
- Terima token akses yang tidak kedaluwarsa, bahkan setelah token yang lebih baru diterbitkan.
- Gunakan alternatif selain Refresh Token Rotation .
- Mendukung beberapa akses yang valid secara bersamaan dan token penyegaran. Demi keamanan, Anda harus membatasi jumlah token dan masa pakai token.
Perawatan dan penanganan pemadaman
Selama pemeliharaan atau pemadaman yang tidak direncanakan, Google mungkin tidak dapat menghubungi otorisasi atau titik akhir pertukaran token Anda untuk mendapatkan akses dan menyegarkan token.
Titik akhir Anda harus merespons dengan kode kesalahan 503
dan isi kosong. Dalam kasus ini, Google mencoba kembali permintaan pertukaran token yang gagal untuk waktu yang terbatas. Asalkan Google nantinya bisa mendapatkan token penyegaran dan akses, permintaan yang gagal tidak akan terlihat oleh pengguna.
Permintaan yang gagal untuk token akses menghasilkan kesalahan yang terlihat, jika dimulai oleh pengguna. Pengguna akan diminta untuk mencoba kembali kegagalan penautan jika alur OAuth 2.0 implisit digunakan.
Rekomendasi
Ada banyak solusi untuk meminimalkan dampak pemeliharaan. Beberapa opsi untuk dipertimbangkan:
Pertahankan layanan Anda yang ada dan rutekan sejumlah permintaan terbatas ke layanan yang baru diperbarui. Migrasikan semua permintaan hanya setelah mengonfirmasi fungsi yang diharapkan.
Kurangi jumlah permintaan token selama periode pemeliharaan:
Batasi periode pemeliharaan hingga kurang dari masa pakai token akses.
Tingkatkan masa pakai token akses untuk sementara:
- Tingkatkan masa pakai token menjadi lebih lama dari periode pemeliharaan.
- Tunggu dua kali durasi token akses Anda seumur hidup, memungkinkan pengguna untuk menukar token berumur pendek dengan token berdurasi lebih lama.
- Masuk pemeliharaan.
- Tanggapi permintaan token dengan kode kesalahan
503
dan isi kosong. - Keluar dari perawatan.
- Kurangi masa pakai token kembali normal.
Mendaftar ke Google
Kami memerlukan detail penyiapan OAuth 2.0 Anda dan membagikan kredensial untuk mengaktifkan penautan akun. Lihat pendaftaran untuk detailnya.