Memberi Otorisasi untuk Web

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

Library JavaScript Google Identity Services mendukung autentikasi untuk login pengguna dan otorisasi untuk mendapatkan token akses yang akan digunakan dengan Google API. Library ini hanya ditujukan untuk digunakan di browser.

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

Panduan ini mencakup 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 ditujukan untuk digunakan dengan framework JavaScript sisi server seperti Node.js, tetapi gunakan library klien Node.js Google.

Yang berubah

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

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

Untuk developer, fokus kami adalah mengurangi kompleksitas, meningkatkan keamanan, dan menyederhanakan integrasi Anda. Beberapa perubahan ini adalah:

  • Autentikasi pengguna untuk login, dan otorisasi yang digunakan untuk mendapatkan token akses untuk memanggil Google API, adalah dua set objek dan metode JavaScript yang terpisah dan berbeda. Hal ini mengurangi kompleksitas dan jumlah detail yang diperlukan untuk menerapkan autentikasi atau otorisasi.
  • Satu library JavaScript kini mendukung:
    • Alur implisit OAuth 2.0, digunakan untuk mendapatkan token akses untuk digunakan di browser
    • Alur kode otorisasi OAuth 2.0, juga dikenal sebagai akses offline, dan memulai pengiriman kode otorisasi yang aman ke platform backend Anda, tempat kode tersebut dapat ditukar dengan token akses dan token refresh. Sebelumnya, alur ini hanya tersedia dengan menggunakan beberapa pustaka dan melalui panggilan langsung ke endpoint OAuth 2.0. Satu library mengurangi waktu dan upaya integrasi Anda, alih-alih menyertakan dan mempelajari beberapa library dan konsep OAuth 2.0, Anda dapat berfokus pada satu antarmuka terpadu.
  • Pengalihan melalui fungsi gaya pengambil telah dihapus untuk kesederhanaan dan keterbacaan.
  • Saat menangani respons otorisasi, Anda memilih apakah akan menggunakan Promise untuk memenuhi permintaan atau tidak, alih-alih keputusan tersebut dibuat untuk Anda.
  • Library Klien Google API untuk JavaScript telah diperbarui dengan perubahan ini:
    • Modul gapi.auth2 serta objek dan metode terkait tidak lagi dimuat secara otomatis di balik layar untuk Anda, dan telah diganti dengan objek dan metode library Layanan Identitas Google yang lebih eksplisit.
    • Penyegaran otomatis token akses yang telah habis masa berlakunya telah dihapus untuk meningkatkan keamanan dan kesadaran pengguna. Setelah masa berlaku token akses berakhir, aplikasi Anda harus menangani respons error, permintaan, dan mendapatkan token akses baru yang valid dari Google API.
    • Untuk mendukung pemisahan yang jelas antara momen autentikasi dan otorisasi, login pengguna ke aplikasi Anda dan ke Akun Google-nya secara bersamaan sambil menerbitkan token akses tidak lagi didukung. Sebelumnya, meminta token akses juga akan membuat pengguna login ke Akun Google mereka dan menampilkan kredensial token ID JWT untuk autentikasi pengguna.
  • Untuk meningkatkan keamanan dan privasi pengguna, kredensial per pengguna yang dikeluarkan untuk otorisasi mengikuti prinsip hak istimewa terendah dengan hanya menyertakan token akses dan informasi yang diperlukan untuk mengelolanya.