Memberi Otorisasi untuk Web

Aplikasi web harus mendapatkan token akses untuk memanggil Google API dengan aman.

Library JavaScript Layanan Identitas Google mendukung autentikasi untuk login dan otorisasi pengguna guna mendapatkan token akses untuk digunakan dengan Google API. Library ini hanya dimaksudkan untuk digunakan di browser.

Autentikasi menetapkan siapa seseorang, dan biasanya disebut sebagai pendaftaran atau login pengguna. Otorisasi adalah proses pemberian atau penolakan akses ke data atau resource. Hal ini termasuk memperoleh dan mengelola izin pengguna, membatasi jumlah data atau resource yang dibagikan dengan cakupan, dan mengambil token akses untuk digunakan dengan Google API.

Panduan ini membahas topik-topik otorisasi dan berbagi data.

Cara kerja otorisasi pengguna menjelaskan setiap langkah otorisasi pengguna secara mendetail dan menyertakan contoh dialog pengguna.

Jika Anda mencari bantuan terkait autentikasi dan cara menerapkan pendaftaran dan login pengguna, lihat Login dengan Google.

Library ini tidak dimaksudkan untuk digunakan dengan framework JavaScript sisi server seperti Node.js. Sebagai gantinya, gunakan library klien Node.js Google.

Beberapa hal yang berubah

Untuk pengguna, library Google Identity Services menawarkan banyak peningkatan kegunaan dibandingkan library JavaScript sebelumnya, termasuk:

  • Autentikasi untuk login pengguna, dan otorisasi untuk mendapatkan token akses untuk memanggil Google API, kini memiliki dua alur penggunaan yang terpisah dan berbeda; satu untuk login dan satu lagi untuk izin selama otorisasi, dengan alur pengguna terpisah untuk membedakan Anda secara jelas dari apa yang dapat dilakukan aplikasi.
  • Visibilitas dan kontrol terperinci yang lebih baik atas berbagi data selama izin pengguna.
  • Dialog pop-up berbasis browser untuk mengurangi hambatan, dan yang tidak mengharuskan pengguna meninggalkan situs Anda untuk:
    • mendapatkan token akses dari Google, atau
    • kirim kode otorisasi ke platform backend Anda.

Bagi developer, fokus kami adalah mengurangi kerumitan, meningkatkan keamanan, dan membuat integrasi Anda secepat dan semudah mungkin. Beberapa perubahan tersebut adalah:

  • Autentikasi pengguna untuk login, dan otorisasi yang digunakan untuk mendapatkan token akses untuk memanggil Google API. Ini adalah dua kumpulan objek dan metode JavaScript yang terpisah dan berbeda. Hal ini mengurangi kompleksitas dan jumlah detail yang diperlukan untuk mengimplementasikan autentikasi atau otorisasi.
  • Satu library JavaScript kini mendukung:
    • Alur implisit OAuth 2.0, yang digunakan untuk mendapatkan token akses agar dapat digunakan dalam browser
    • Alur kode otorisasi OAuth 2.0, yang juga dikenal sebagai akses offline, dan memulai pengiriman kode otorisasi dengan aman ke platform backend Anda, tempat kode tersebut dapat ditukar dengan token akses dan token refresh. Sebelumnya, alur ini hanya tersedia dengan menggunakan beberapa library dan melalui panggilan langsung ke endpoint OAuth 2.0. Satu library akan mengurangi waktu dan upaya integrasi Anda. Daripada menyertakan dan mempelajari beberapa library dan konsep OAuth 2.0, Anda dapat berfokus pada satu antarmuka terpadu.
  • Pengalihan melalui fungsi gaya pengambil telah dihapus agar lebih praktis dan mudah dibaca.
  • Saat menangani respons otorisasi, Anda dapat memilih apakah akan menggunakan Promise atau tidak untuk memenuhi permintaan, bukan keputusan yang dibuat untuk Anda.
  • Library Klien Google API untuk JavaScript telah diupdate dengan perubahan berikut:
    • modul gapi.auth2 serta objek dan metode terkait tidak lagi dimuat secara otomatis di balik layar, dan telah diganti dengan objek dan metode library Google Identity Services yang lebih eksplisit.
    • Pembaruan otomatis token akses yang sudah tidak berlaku telah dihapus untuk meningkatkan keamanan dan kesadaran pengguna. Setelah masa berlaku token akses berakhir, aplikasi Anda harus menangani respons error Google API, meminta, dan mendapatkan token akses baru yang valid.
    • Untuk mendukung pemisahan momen autentikasi dan otorisasi yang jelas, proses membuat pengguna login secara bersamaan ke aplikasi Anda dan ke Akun Google mereka sekaligus mengeluarkan token akses tidak lagi didukung. Sebelumnya, meminta token akses juga membuat pengguna login ke Akun Google mereka dan menampilkan kredensial token ID JWT untuk autentikasi pengguna.
  • Untuk meningkatkan keamanan dan privasi pengguna, setiap kredensial pengguna yang dikeluarkan untuk otorisasi mengikuti prinsip hak istimewa terendah dengan hanya menyertakan token akses dan informasi yang diperlukan untuk mengelolanya.