Kami menghentikan Platform Perpustakaan Google Sign-In JavaScript untuk web . Untuk otentikasi dan user masuk, menggunakan Layanan Identity Google SDK baru untuk kedua Web dan Android sebagai gantinya.

Meminta izin tambahan

Saat meminta izin pengguna untuk mengakses data pengguna atau sumber daya lain, Anda dapat meminta semua cakupan di muka dalam permintaan awal atau meminta cakupan hanya jika diperlukan, menggunakan otorisasi tambahan . Dengan menggunakan otorisasi tambahan, aplikasi Anda awalnya hanya meminta cakupan yang diperlukan untuk memulai aplikasi Anda, kemudian meminta cakupan tambahan saat izin baru diperlukan, dalam konteks yang mengidentifikasi alasan permintaan tersebut kepada pengguna.

Misalnya, aplikasi Anda memungkinkan pengguna menyimpan daftar putar musik ke Google Drive; aplikasi Anda dapat meminta informasi pengguna dasar saat masuk, dan nanti, saat pengguna siap untuk menyimpan daftar putar pertamanya, hanya minta izin Google Drive.

Gunakan teknik ini jika Anda mencurigai pengguna tidak masuk karena layar persetujuan Anda terlalu banyak, atau bingung mengapa mereka dimintai izin tertentu. Petunjuk berikut ditujukan untuk web dan diambil dari petunjuk untuk menambahkan tombol masuk sisi klien: Membuat tombol Masuk Google 2.0 . Anda dapat membaca lebih lanjut tentang otorisasi tambahan untuk web di dokumentasi OAuth 2.0 .

Meminta cakupan tambahan

Saat masuk, aplikasi Anda meminta cakupan "dasar", yang terdiri dari profile cakupan masuk ditambah cakupan awal lainnya yang diperlukan aplikasi Anda untuk operasi. Nanti, saat pengguna ingin melakukan tindakan yang membutuhkan cakupan tambahan, aplikasi Anda meminta cakupan tambahan tersebut dan pengguna hanya mengotorisasi cakupan baru dari layar persetujuan.

Langkah 1: Minta cakupan dasar

Minta profile cakupan dasar saat Anda menginisialisasi Login dengan Google. Langkah ini termasuk dalam Membuat tombol Masuk Google 2.0 .

auth2 = gapi.auth2.init({
    client_id: 'CLIENT_ID.apps.googleusercontent.com',
    cookiepolicy: 'single_host_origin', /** Default value **/
    scope: 'profile' });                /** Base scope **/

Langkah 2: Minta cakupan tambahan

Kapan pun cakupan tambahan diperlukan, minta mereka dengan membuat pembuat opsi dengan cakupan yang ingin Anda tambahkan dan kemudian panggil user.grant({scope: [OPTIONS BUILDER]}).then(successFunction, failFunction); :

const option = new gapi.auth2.SigninOptionsBuilder();
option.setScope('email https://www.googleapis.com/auth/drive');

googleUser = auth2.currentUser.get();
googleUser.grant(options).then(
    function(success){
      console.log(JSON.stringify({message: "success", value: success}));
    },
    function(fail){
      alert(JSON.stringify({message: "fail", value: fail}));
    });