Lompat ke konten

Pengaturan Login Google

GitHub

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

  • Akun Google

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

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

      Bar Pencarian Google Console
    2. Cari OAuth consent screen dan klik di atasnya

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

      Klik pada create

      Pengaturan layar persetujuan OAuth dengan opsi External dan Internal
  5. Isi informasi tentang aplikasi Anda
    1. Mari kita mulai dengan bagian App Information

      Informasi Aplikasi menampilkan nama aplikasi dan alamat email dukungan pengguna
      • Silakan ketikkan App Name
      • Masukkan user support email
      1. Anda DAPAT menambahkan logo aplikasi.

        Bagian unggah logo aplikasi di layar persetujuan OAuth
      2. Anda HARUS mengonfigurasi bagian pengaturan domain aplikasi dengan bidang domain yang diizinkan App domain

        Peringatan
      3. __CAPGO_KEEP_0__ __CAPGO_KEEP_0__ Berikan alamat surel pengembang

        Bagian informasi kontak pengembang dengan bidang surel
      4. Klik pada save and continue

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

      Tombol Tambah atau Hapus Ruang Lingkup di layar konfigurasi ruang lingkup
    2. Pilih ruang lingkup berikut dan klik update

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

      Tombol Lanjutkan dan Simpan 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 Bidang input 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 penyelesaian
  9. Kirimkan aplikasi Anda untuk verifikasi

Perbedaan antara akses online dan offline

Judul bagian “Perbedaan antara akses online dan offline”

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

Akses onlineAkses offline
Memerlukan backend
Token akses yang berumur lama
Pengaturan yang mudah

Jika Anda masih tidak tahu mana yang harus dipilih, silakan pertimbangkan skenario-skenario berikut:

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

    Pilih akses online.

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

    Pilih akses online.

  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 ini dari tutorial, 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

Seperti yang Anda lihat:

VS Code menampilkan Google authentication code yang memeriksa token

Idea ini cukup sederhana. Anda mengirimkan permintaan sederhana ke GET dan ini akan mengembalikan apakah token valid atau tidak dan jika ya, maka akan memberikan email pengguna. Bahkan, juga akan memberikan informasi lain tentang token pengguna https://www.googleapis.com/oauth2/v3/tokeninfo dan

Google OAuth Playground menampilkan informasi respons token dengan detail pengguna

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

Jika Anda ingin memanggil Google API’, saya sangat menyarankan Anda untuk melihat Google’s OAuth 2.0 PlaygroundDari sana Anda dapat dengan mudah melihat apa saja API yang dapat dipanggil.

Menggunakan akses offline dengan backend sendiri

Judul bagian “Menggunakan akses offline dengan backend sendiri”

Untuk menggunakan akses offline, Anda memerlukan:

  • 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 di sini

Untuk klien code, ini terlihat 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());
}
}

Perhatikan apa yang hilang di sini: tidak ada SocialLogin.refresh() panggilan di aplikasi. Itu sengaja. Di mode offline Google, refresh terjadi setelah backend Anda serverAuthCode mengganti dan menyimpan token refresh secara aman.

Lanjutkan dari Pengaturan Login Google

Tetapkan Langkah Berikutnya dari Pengaturan Login Google

Jika Anda menggunakan Pengaturan Login Google untuk merencanakan autentikasi dan alur akun, hubungkannya dengan Menggunakan @capgo/capacitor-social-login untuk kemampuan native di Menggunakan @capgo/capacitor-social-login, @capgo/capacitor-social-login untuk detail implementasi di @capgo/capacitor-social-login, @capgo/capacitor-passkey untuk detail implementasi di @capgo/capacitor-passkey, @capgo/capacitor-native-biometric untuk detail implementasi di @capgo/capacitor-native-biometric, dan Autentikasi Dua Faktor untuk detail implementasi di Autentikasi Dua Faktor.