Lompat ke konten

Pengaturan Login Google

GitHub

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

  • Suatu akun Google

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

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

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

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

      Klik pada create

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

      Informasi Aplikasi bagian menampilkan Nama Aplikasi dan Alamat Email Pengguna untuk dukungan
      • Silakan ketikkan App Name
      • Masukkan user support email
      1. Anda DAPAT tambahkan logo aplikasi.

        Bagian unggah logo aplikasi di layar persetujuan OAuth
      2. Anda HARUS mengonfigurasi App domain

        Bagian pengaturan domain aplikasi dengan bidang domain yang diotorisasi
      3. Anda HARUS MELAKUKAN menyediakan alamat email pengembang

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

        Tombol Simpan dan Lanjutkan di bagian bawah formulir
  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 pemilihan ruang dengan skop email dan profil dipilih
    3. Klik save and continue

      Tombol Lanjutkan dan Simpan di layar skop
  7. Tambahkan pengguna uji
    1. Klik pada add users Tombol Tambah Pengguna di bagian pengguna uji
    2. Masukkan alamat email Google Anda, tekan enter, dan klik add Bidang input email dan tombol Tambah untuk pengguna uji
    3. Klik save and continue Tombol Lanjutkan dan Simpan 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 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 tersebut:

Akses onlineAkses offline
Memerlukan backend
Token akses yang berumur lama
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 dari backend

  2. Dalam kasus ini, pilih akses online

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

  3. Dalam kasus ini, pilih akses online']}

    In this case, choose online access

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

    Pilih akses offline dalam kasus ini

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

Seperti yang Anda lihat:

VS Code showing Google authentication code that verifies tokens

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

Google OAuth Playground menampilkan informasi respons token dengan detail pengguna

Dari sana, Anda bisa mengeluarkan pengguna dengan JWT Anda sendiri atau mengeluarkan cookie sesi. Kemungkinan-kemungkinan sangat luas untuk implementasi autentikasi akhir.

Jika Anda ingin memanggil Google API’, saya sangat merekomendasikan Anda untuk melihat Google’s OAuth 2.0 Playground. Dari sana Anda bisa dengan mudah melihat apa saja API yang bisa dipanggil.

Menggunakan akses offline dengan backend Anda sendiri

Judul bagian “Menggunakan akses offline dengan backend Anda sendiri”

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:

Contoh code untuk contoh ini dapat ditemukan di sini

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

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

Lanjutkan dari Pengaturan Login Google

Judul bagian “Lanjutkan 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.