Pengaturan Login Google
Copas prompt pengaturan dengan langkah instalasi dan panduan markdown lengkap untuk plugin ini.
Pendahuluan
Bagian berjudul “Pendahuluan”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
CatatanDi bagian ini, Anda akan mengatur layar login yang ditampilkan oleh Google.
- Silakan pergi ke console.cloud.google.com
- Klik pada pilihan proyek
- Jika Anda belum memiliki proyek, silakan buat proyek baru.
- Klik pada
New project
- Berikan nama proyek dan klik
Create
- Pastikan Anda berada di proyek yang tepat
- Klik pada
- Mulai untuk mengonfigurasi
OAuth consent screen-
Klik di bar pencarian
-
Cari
OAuth consent screendan klik di atasnya
-
Konfigurasi layar persetujuan
Klik pada
create
-
- Isi informasi tentang aplikasi Anda
-
Marilah kita mulai dengan bagian
App Information
- Silakan masukkan
App Name - Masukkan
user support email
-
Anda DAPAT menambahkan logo aplikasi.
-
Anda SEHARUSNYA konfigurasi bagian domain aplikasi dengan bidang domain yang diotorisasi
App domain
-
__CAPGO_KEEP_0__ harus menyediakan alamat email pengembang
-
Klik pada
save and continue
- Silakan masukkan
-
- Konfigurasi ruang lingkup
-
Klik pada
add or remove scopes
-
Pilih ruang lingkup berikut dan klik
update
-
Klik
save and continue
-
- Tambahkan pengguna uji
- Klik pada
add users
- Masukkan alamat email Google Anda, klik enter, dan klik
add
- Klik
save and continue
- Klik pada
- Klik
back to dashboard
- 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 online | Akses 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
-
does
Dalam kasus ini, pilih akses online.
-
Aplikasi Anda akan memanggil beberapa API Google dari klien, tetapi tidak dari backend.
Dalam kasus ini, pilih akses online.
-
Aplikasi Anda akan memanggil beberapa API Google dari backend, tetapi hanya ketika pengguna aktif menggunakan aplikasi.
Dalam kasus ini, pilih akses online.
-
Aplikasi Anda akan secara berkala memeriksa kalender pengguna, bahkan ketika dia tidak aktif menggunakan aplikasi.
Dalam kasus ini, pilih akses offline.
Contoh backend untuk akses online.
Judul bagian “Contoh backend untuk akses online”.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:
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
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:
-
LowDb (database sederhana)
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