Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
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.
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.
[null,null,["Terakhir diperbarui pada 2023-12-01 UTC."],[[["\u003cp\u003eGoogle Identity Services JavaScript library enables secure access to Google APIs via access tokens and supports user authentication.\u003c/p\u003e\n"],["\u003cp\u003eThe library offers separate, streamlined user flows for sign-in (authentication) and consent (authorization) for enhanced user experience and control.\u003c/p\u003e\n"],["\u003cp\u003eDevelopers benefit from reduced complexity, improved security, and easier integration with features like a unified library for both implicit and authorization code flows.\u003c/p\u003e\n"],["\u003cp\u003eGoogle Identity Services prioritizes user privacy and security through measures like least privilege credentials and explicit access token refresh handling.\u003c/p\u003e\n"],["\u003cp\u003eThe library is exclusively for browser-based applications and should not be used with server-side JavaScript frameworks like Node.js.\u003c/p\u003e\n"]]],[],null,["# Authorizing for Web\n\nWeb apps must obtain an access token to securely call Google APIs.\n\nThe Google Identity Services JavaScript library supports both authentication for\nuser sign-in and authorization to obtain an access token for use with Google\nAPIs. The library is intended only for use in browsers.\n\nAuthentication establishes who someone is, and is commonly referred to as user\nsign-up or sign-in. Authorization is the process of granting or rejecting access\nto data or resources. It includes obtaining and managing user consent, limiting\nthe amount of data or resources shared with scopes, and retrieving an access\ntoken for use with Google APIs.\n\nThese guides cover authorization and data sharing topics.\n\n[How user authorization works](/identity/oauth2/web/guides/how-user-authz-works) describes the individual steps of user\nauthorization in detail and includes user dialog examples.\n\nIf you are looking for help with authentication and how to implement user\nsign-up and sign-in see [Sign In With Google](/identity/gsi/web/guides/overview).\n| **Note:** The `email`, `profile`, and `openid` scopes are used for user authentication. If your app only uses these scopes [Sign In With Google](/identity/gsi/web) is recommended instead.\n\nThis library is not intended for use with server-side JavaScript frameworks such\nas Node.js, instead use Google's [Node.js](https://github.com/googleapis/google-api-nodejs-client)\nclient library.\n\nWhat's changed\n--------------\n\nFor users, the Google Identity Services library offers numerous usability\nimprovements over earlier JavaScript libraries, including:\n\n- Authentication for user sign-in, and authorization to obtain an access token to call Google APIs, now have two separate and distinct user flows; one for [sign-in](/identity/gsi/web/guides/overview#how_it_works) and another for [consent](/identity/oauth2/web/guides/how-user-authz-works#user_consent) during authorization, with separate user flows to clearly differentiate who you are, from what an app can do.\n- Improved visibility and granular control of data sharing during [user\n consent](/identity/oauth2/web/guides/how-user-authz-works#user_consent).\n- Browser based pop-up dialogs to reduce friction, and which do not require users to leave your site to:\n - obtain an access token from Google, or\n - send an authorization code to your backend platform.\n\nFor developers, our focus has been to reduce complexity, improve security, and\nmake your integration as quick and easy as possible. Some of these changes are:\n\n- User [authentication](/identity/gsi/web/reference/js-reference) for sign-in, and [authorization](/identity/oauth2/web/reference/js-reference) used to obtain an access token to call Google APIs, are two separate and distinct sets of JavaScript objects, and methods. This reduces the complexity and amount of detail required to implement authentication or authorization.\n- A single JavaScript library now supports both the:\n - OAuth 2.0 implicit flow, used to obtain an access token for use in-browser\n - OAuth 2.0 authorization code flow, also known as offline access, and initiates securely delivering an authorization code to your backend platform, where it can be exchanged for an access token and refresh token. Previously, these flows were only available by using multiple libraries and through direct calls to OAuth 2.0 endpoints. A single library decreases your integration time and effort, instead of including and learning multiple libraries and OAuth 2.0 concepts you can focus on a single, unified interface.\n- Indirection through getter style functions has been removed for simplicity and readability.\n- When handling authorization responses you choose whether or not to use a [Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise) to fulfill requests, instead of that decision being made for you.\n- The [Google API Client Library for JavaScript](https://github.com/google/google-api-javascript-client) has been updated with these changes:\n - the `gapi.auth2` module and associated objects and methods are no longer automatically loaded for you behind the scenes, and have been replaced with more explicit Google Identity Services library objects and methods.\n - Automatic refresh of expired access tokens has been removed to improve user security and awareness. After an access token expires your app must handle Google API error responses, request, and obtain a new, valid access token.\n - To support a clear separation of authentication and authorization moments, simultaneously signing a user in to your app and to their Google Account while also issuing an access token is no longer supported. Previously, requesting an access token also signed users into their Google Account and returned a JWT ID token credential for user authentication.\n- To increase user security and privacy, per user [credentials](/identity/oauth2/web/guides/migration-to-gis#example_credentials) issued for authorization follow the principle of least privilege by including only an access token and information required to manage it."]]