Lompat ke konten

Pengaturan Login Google

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

  • Akun Google

Pengaturan Umum

Catatan

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

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

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

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

      Klik pada create

      Pilihan tipe pengguna layar konfirmasi OAuth dengan opsi External dan Internal
  5. Isi informasi tentang aplikasi Anda
    1. Marilah kita mulai dengan bagian App Information

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

        Bagian unggah logo aplikasi di layar persetujuan OAuth
      2. Anda SEHARUSNYA konfigurasi bagian domain aplikasi dengan bidang domain yang diotorisasi App domain

        Catatan
      3. __CAPGO_KEEP_0__ harus menyediakan alamat email pengembang

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

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

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

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

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

Perbedaan antara akses online dan akses offline

Bagian berjudul “Perbedaan 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 berlaku lama
Pengaturan yang mudah

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

  1. does

    Dalam kasus ini, pilih akses online.

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

    Dalam kasus ini, pilih akses online.

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

    Dalam kasus ini, pilih akses online.

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

    Dalam kasus ini, 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 contoh code ini di sini

Seperti yang Anda lihat:

VS Code menampilkan autentikasi Google code yang memeriksa token

Gagasan ini 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 Anda beberapa 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

API Lahan Google OAuth 2.0. Dari 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 hal-hal berikut:

  • Sebuah server HTTP

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

Contoh ini dapat ditemukan di sini: code Di sini

Untuk klien code, ini adalah tampilannya:

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 panggilan di aplikasi. Itu sengaja. Di mode offline Google, refresh terjadi setelah backend Anda mengirim dan menyimpan token refresh secara aman. SocialLogin.refresh() Edit halaman serverAuthCode Sebelumnya