Ringkasan

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 memberikan aplikasi dan perangkat Google akses ke layanan Anda.

Pengguna dapat menautkan atau membatalkan tautan akunnya dan secara opsional membuat akun baru di platform Anda dengan Penautan Akun Google.

Kasus penggunaan

Beberapa alasan penerapan Penautan Akun Google adalah:

  • Bagikan data pengguna dari platform Anda ke aplikasi dan layanan Google.

  • Putar konten video dan film menggunakan Google TV.

  • Kelola dan kontrol perangkat yang terhubung Google Smart Home menggunakan aplikasi Google Home dan Asisten Google, "Ok Google nyalakan lampu".

  • Buat pengalaman dan fungsi Asisten Google yang disesuaikan oleh pengguna dengan Tindakan Percakapan, "Ok Google, pesan seperti biasa dari Starbucks"

  • Memungkinkan pengguna untuk mendapatkan reward dengan melihat live stream yang memenuhi syarat di YouTube setelah menautkan Akun Google ke akun partner reward.

  • Mengisi otomatis akun baru selama pendaftaran dengan data yang dibagikan secara konsensual dari profil Akun Google.

Fitur yang didukung

Fitur ini didukung oleh Penautan Akun Google:

  • Bagikan data Anda dengan cepat dan mudah menggunakan alur implisit Penautan OAuth.

  • Meningkatkan keamanan dengan alur kode otorisasi Penautan OAuth.

  • Memproses login pengguna yang ada atau mendaftarkan pengguna terverifikasi Google baru ke platform Anda, mendapatkan izin mereka, dan membagikan data secara aman dengan Penautan yang disederhanakan.

  • Kurangi gangguan dengan App Flip. Dari aplikasi Google tepercaya, ketuk sekali akan membuka aplikasi Android atau iOS terverifikasi Anda dan sekali ketuk akan memberikan izin pengguna dan menautkan akun.

  • Meningkatkan privasi pengguna dengan menentukan cakupan kustom untuk berbagi data yang diperlukan saja, meningkatkan kepercayaan pengguna dengan mendefinisikan cara penggunaan data mereka dengan 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, sementara Perlindungan Lintas Akun (RISC) memungkinkan Anda untuk memberi tahu Google tentang peristiwa pembatalan tautan yang terjadi di platform Anda.

Alur penautan akun

Ada 3 alur Penautan Akun Google yang semuanya berbasis OAuth dan mengharuskan Anda mengelola atau mengontrol endpoint yang sesuai untuk OAuth 2.0 dan pertukaran token.

Selama proses penautan, Anda mengeluarkan token akses ke Google untuk Akun Google perorangan setelah mendapatkan izin dari pemegang akun untuk menautkan akun mereka dan membagikan data.

Penautan OAuth ('OAuth Web')

Ini adalah alur OAuth dasar yang mengarahkan pengguna ke situs Anda untuk melakukan penautan. Pengguna dialihkan ke situs Anda untuk login ke akun mereka. Setelah login, pengguna menyetujui untuk berbagi data tentang layanan Anda dengan 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 pertukaran token dan otorisasi saat menggunakan alur kode otorisasi.

Gambar 1. Penautan Akun di ponsel pengguna dengan OAuth Web

Penautan Aplikasi Flip berbasis OAuth ('App Flip')

Alur OAuth yang mengarahkan pengguna ke aplikasi Anda untuk penautan.

Penautan Balik Aplikasi berbasis OAuth memandu pengguna saat beralih antara aplikasi seluler Android atau iOS terverifikasi dan platform Google untuk meninjau perubahan akses data yang diusulkan dan memberikan persetujuan mereka untuk menautkan akun mereka di platform Anda dengan Akun Google mereka. Untuk mengaktifkan App Flip, layanan Anda harus mendukung Penautan OAuth atau Penautan Login dengan Google Berbasis OAuth menggunakan alur kode otorisasi.

App Flip didukung untuk Android dan iOS.

Cara kerjanya:

Aplikasi Google memeriksa apakah aplikasi Anda diinstal di perangkat pengguna:

  • Jika aplikasi ditemukan, pengguna akan 'dibalik' aplikasi Anda. Aplikasi akan mengumpulkan izin dari pengguna untuk menautkan akun dengan Google, lalu 'membalik kembali' ke platform Google.
  • Jika aplikasi tidak ditemukan atau terjadi error selama proses penautan aplikasi, pengguna akan dialihkan ke alur OAuth atau OAuth Web.

Gambar 2. Penautan Akun di ponsel pengguna dengan App Flip

Penautan yang Berbasis Berbasis OAuth ('Selaras')

Penautan Google Sign-In yang Disederhanakan Google OAuth menambahkan Login dengan Google di atas penautan OAuth, memungkinkan pengguna menyelesaikan proses penautan tanpa meninggalkan platform Google, sehingga mengurangi hambatan dan pengguna yang tidak menyelesaikan survei. Penautan Dasar Berbasis OAuth menawarkan pengalaman pengguna terbaik dengan proses masuk, pembuatan akun, dan penautan akun yang lancar dengan menggabungkan Login dengan Google dengan penautan OAuth. Layanan Anda harus mendukung endpoint otorisasi token dan otorisasi 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 ada akun untuk pengguna di database Anda, pengguna tersebut berhasil menautkan Akun Google-nya dengan akunnya di layanan Anda.
  • Jika tidak ada akun untuk pengguna di database Anda, pengguna dapat membuat akun pihak ketiga dengan informasi yang ditegaskan yang disediakan Google: email, nama, dan foto profil, atau memilih untuk login dan menautkan dengan email lain (ini akan mewajibkannya login ke layanan Anda melalui OAuth Web).

Gambar 3. Penautan Akun di ponsel pengguna dengan Penautan yang Disederhanakan

Alur mana yang sebaiknya Anda gunakan?

Sebaiknya terapkan semua alur untuk memastikan pengguna mendapatkan pengalaman penautan terbaik. Alur Sederhana dan Pembalikan Aplikasi mengurangi friksi penautan karena pengguna dapat menyelesaikan proses penautan dalam beberapa langkah saja. Penautan OAuth Web memiliki tingkat upaya terendah dan merupakan tempat yang baik untuk memulai setelah itu Anda dapat menambahkan pada alur penautan lainnya.

Bekerja dengan token

Penautan Akun Google didasarkan pada standar industri OAuth 2.0.

Anda menerbitkan token akses ke Google untuk Akun Google perorangan setelah mendapatkan izin pemegang akun 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:

      1. Tingkatkan masa pakai token menjadi lebih lama dari periode pemeliharaan.
      2. Tunggu dua kali durasi token akses Anda seumur hidup, memungkinkan pengguna untuk menukar token berumur pendek dengan token berdurasi lebih lama.
      3. Masuk pemeliharaan.
      4. Tanggapi permintaan token dengan kode kesalahan 503 dan isi kosong.
      5. Keluar dari perawatan.
      6. Kurangi masa pakai token kembali normal.

Mendaftar ke Google

Kami memerlukan detail penyiapan OAuth 2.0 Anda dan untuk membagikan kredensial guna mengaktifkan penautan akun. Lihat pendaftaran untuk mengetahui detailnya.