Lompat ke konten

Pengaturan Login Google

GitHub

Di panduan ini, Anda akan belajar cara mengatur Login Google dengan Capgo Login Sosial. Anda memerlukan hal-hal berikut untuk mengatur Login Google:

  • Suatu akun Google

Di bagian ini, Anda akan mengatur layar login yang ditampilkan oleh Google.

  1. Silakan pergi ke console.cloud.google.com
  2. Pilih Project Selector Google Console Project Selector Google Console
  3. Jika Anda belum memiliki proyek, silakan Buat Proyek Baru.
    1. Pilih New project Tombol Proyek Baru di Google Console
    2. Berikan nama proyek dan pilih Create Form Penamaan Proyek menampilkan field nama dan tombol Buat
    3. Pastikan Anda berada di proyek yang benar Nama proyek ditampilkan di selector menunjukkan pilihan proyek yang tepat
  4. Mulai untuk mengonfigurasi OAuth consent screen
    1. Klik pada bar pencarian

      Bar pencarian Google Console
    2. Cari OAuth consent screen dan klik pada itu

      Hasil pencarian menampilkan opsi layar persetujuan OAuth
    3. Konfigurasi layar persetujuan

      Klik pada create

      Pilih jenis pengguna OAuth layar persetujuan dengan opsi Internal dan External
  5. Isi informasi tentang aplikasi Anda
    1. Mulai dengan bagian App Information

      Bagian Informasi Aplikasi yang menampilkan Nama Aplikasi dan Alamat Email Pengguna untuk Dukungan
      • Silakan mengetikkan alamat email App Name
      • Masukkan user support email
      1. Anda BISA menambahkan logo aplikasi.

        Catatan
      2. HARUS mengonfigurasi Bagian pengaturan domain aplikasi dengan bidang domain yang diotorisasi App domain

        Catatan
      3. Anda Harus Berikan alamat surel pengembang

        Informasi Kontak Pengembang dengan Bidang Email
      4. Klik di save and continue

        Tombol Simpan dan Lanjutkan di bagian bawah formulir
  6. Konfigurasi ruang lingkup
    1. Klik di add or remove scopes

      Tambah atau hapus tombol ruang lingkup di layar pengaturan ruang lingkup
    2. Pilih ruang lingkup berikut dan klik update

      Dialog pilihan ruang lingkup dengan email dan profil ruang lingkup yang dipilih
    3. Klik save and continue

      Tombol Simpan dan Lanjutkan di layar ruang lingkup
  7. Tambahkan pengguna uji
    1. Klik pada add users Tombol Tambah Pengguna di bagian pengguna uji
    2. Masukkan alamat email Google Anda, klik enter, dan klik add Inputan alamat email dan tombol Tambah untuk pengguna uji
    3. Klik save and continue Tombol Simpan dan Lanjutkan di layar pengguna uji
  8. Klik back to dashboard Tombol kembali ke dashboard di bagian bawah halaman selesai
  9. Kirimkan aplikasi Anda untuk verifikasi

Perbedaan antara akses online dan akses offline

Bab berjudul “Perbedaan antara akses online dan akses offline”

Ada beberapa cara untuk menggunakan Google Login dengan Capacitor. Berikut adalah tabel yang menyajikan perbedaan antara kedua hal tersebut:

Akses OnlineAkses Offline
Memerlukan Backend
Token Akses yang Berumur Panjang
Pengaturan yang Mudah

Anda ingin pengguna masuk, segera setelah Anda akan mengeluarkan JWT khusus untuknya. Aplikasi Anda TIDAK akan memanggil API Google

  1. Dalam kasus ini, pilih akses online.

    Aplikasi Anda akan memanggil beberapa API Google dari klien, tetapi tidak pernah dari backend

  2. Dalam kasus ini, pilih akses online

    __CAPGO_KEEP_0__

  3. Aplikasi Anda akan memanggil beberapa API Google dari backend, tetapi hanya ketika pengguna aktif menggunakan aplikasi.

    Pilih akses online.

  4. Aplikasi Anda akan secara berkala memeriksa kalender pengguna, bahkan ketika dia tidak aktif menggunakan aplikasi.

    Pilih akses offline.

Dalam bagian tutorial ini, saya akan menunjukkan cara memvalidasi pengguna di backend Anda.

Contoh ini akan sangat sederhana dan akan didasarkan pada teknologi berikut:

Anda dapat menemukan code untuk contoh ini di sini

As Anda dapat melihat:

VS Code menampilkan autentikasi Google code yang memverifikasi token

Ideanya cukup sederhana. Anda mengirimkan permintaan sederhana ke GET dan ini akan mengembalikan Anda apakah token tersebut valid atau tidak dan jika ya, maka akan memberikan Anda alamat email pengguna. Selain itu, juga akan memberikan informasi lain tentang token pengguna https://www.googleapis.com/oauth2/v3/tokeninfo Google OAuth Playground menampilkan informasi respons token dengan detail pengguna

Dari sana, Anda dapat mengeluarkan pengguna dengan JWT Anda sendiri atau mengeluarkan cookie sesi. Kemungkinan-kemungkinan sangatlah banyak, untuk implementasi autentikasi akhir.

Jika Anda ingin memanggil Google __CAPGO_KEEP_0__’, saya sangat menyarankan Anda untuk melihat

If you do want to call Google API’s, I would strongly recommend looking at . Dari sana Anda dapat dengan mudah melihat apa saja API yang dapat dipanggil.Menggunakan akses offline dengan backend Anda sendiri

__CAPGO_KEEP_0__ dan __CAPGO_KEEP_1__

Menggunakan akses offline dengan backend sendiri Anda

Untuk menggunakan akses offline, Anda memerlukan hal-hal berikut:

  • Sebuah server HTTP

Dalam contoh ini, saya akan menggunakan teknologi berikut untuk menyediakan akses offline di aplikasi saya:

The code for this example can be found __CAPGO_KEEP_0__

As untuk klien code, tampaknya seperti ini:

import { Capacitor } from '@capacitor/core';
import { GoogleLoginOfflineResponse, SocialLogin } from '@capgo/capacitor-social-login';
import { usePopoutStore } from '@/popoutStore'; // <-- specific to my app
const baseURL = "[redacted]";
async function fullLogin() {
await SocialLogin.initialize({
google: {
webClientId: '[redacted]',
iOSClientId: '[redacted]',
iOSServerClientId: 'The same value as webClientId',
mode: 'offline' // <-- important
}
})
const response = await SocialLogin.login({
provider: 'google',
options: {
forceRefreshToken: true // <-- important
}
})
if (response.provider === 'google') {
const result = response.result as GoogleLoginOfflineResponse
const res = await fetch(`${baseURL}/auth/google_offline`, {
headers: {
"Content-Type": "application/json"
},
body: JSON.stringify({
serverAuthCode: result.serverAuthCode,
platform: Capacitor.getPlatform()
}),
method: "POST"
})
if (res.status !== 200) {
popoutStore.popout("Full google login failed", "check console");
return
}
const { jwt } = await res.json();
const userinfo = await fetch(`${baseURL}/auth/get_google_user`, {
headers: {
Authorization: `Bearer ${jwt}`
}
})
if (userinfo.status !== 200) {
popoutStore.popout("Full google (userinfo) login failed", "check console");
return
}
popoutStore.popout("userinfo res", await userinfo.text());
}
}

Pesan perlu diingat: tidak ada SocialLogin.refresh() panggilan di aplikasi. Ini sengaja. Dalam mode offline Google, refresh terjadi setelah backend Anda mengganti dan menyimpan token refresh secara aman. serverAuthCode Teruskan dari Pengaturan Login Google

Bab yang berjudul “Teruskan dari Pengaturan Login Google”

Jika Anda menggunakan

Pengaturan Login Google untuk merencanakan autentikasi dan alur akun, hubungkannya dengan Menggunakan @__CAPGO_KEEP_0__/__CAPGO_KEEP_1__-social-login untuk kemampuan native di Menggunakan @capgo/capacitor-social-login, for the native capability in Using @capgo/capacitor-social-login, @capgo/capacitor-login sosial untuk detail implementasi di @capgo/capacitor-login sosial, @capgo/capacitor-passkey untuk detail implementasi di @capgo/capacitor-passkey, @capgo/capacitor-biometrik native untuk detail implementasi di @capgo/capacitor-biometrik native, dan Autentikasi dua faktor untuk detail implementasi di Autentikasi dua faktor.