Pengaturan Login Google
Copy sebuah prompt pengaturan dengan langkah instalasi dan panduan markdown lengkap untuk plugin ini.
Pendahuluan
Bagian berjudul “Pendahuluan”Dalam panduan ini, Anda akan belajar cara mengatur masuk Google dengan Capgo Login Sosial. Anda memerlukan hal-hal berikut untuk mengatur masuk Google:
- Akun Google
Pengaturan Umum
Bagian berjudul “Pengaturan Umum”Dalam bagian ini, Anda akan mengatur layar masuk yang ditampilkan oleh Google.
- Silakan pergi ke console.cloud.google.com
- Klik pada selector 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 pada bar pencarian
-
Cari
OAuth consent screendan klik pada itu
-
Konfigurasi layar persetujuan
Klik pada
create
-
- Isi informasi tentang aplikasi Anda
-
Mulai dengan bagian
App Information
- Silakan ketikkan
App Name - Masukkan
user support email
-
Anda BISA menambahkan logo aplikasi.
-
Anda HARUS mengonfigurasi
App domain
-
Anda HARUS memberikan alamat email pengembang
-
Klik pada
save and continue
- Silakan ketikkan
-
- 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 antara akses online dan akses offline”Ada beberapa cara untuk menggunakan Google Login dengan Capacitor. Berikut adalah tabel yang menyajikan perbedaan antara kedua metode:
| Akses online | Akses Offline | |
|---|---|---|
| Memerlukan Backend | ❌ | ✅ |
| Token Akses yang Berumur Panjang | ❌ | ✅ |
| Pengaturan Mudah | ✅ | ❌ |
Anda ingin pengguna masuk, segera setelah itu Anda akan mengeluarkan JWT khusus. Aplikasi Anda TIDAK akan memanggil API Google
-
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.
Dalam kasus ini, pilih akses online.
-
Aplikasi Anda akan memanggil beberapa API Google dari backend, tetapi hanya ketika pengguna aktif menggunakan aplikasi
Pilih akses online
-
Aplikasi Anda akan secara berkala memeriksa kalender pengguna, bahkan ketika dia tidak aktif menggunakan aplikasi
Pilih akses offline
Contoh backend untuk akses online
Bab berjudul “Contoh backend untuk akses online”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 As kamu bisa lihat:
VS __CAPGO_KEEP_0__ menampilkan autentikasi Google __CAPGO_KEEP_1__ yang memeriksa token
dan ini akan mengembalikan kamu apakah token tersebut valid atau tidak dan jika ya, maka akan memberikan kamu email pengguna. Selain itu, juga akan memberikan kamu beberapa informasi lain tentang token pengguna GET Google OAuth Playground menampilkan informasi respons token dengan detail pengguna https://www.googleapis.com/oauth2/v3/tokeninfo Dari sana, kamu bisa mengeluarkan pengguna dengan JWT milikmu sendiri atau mengeluarkan cookie sesi. Kemungkinan-kemungkinannya sangat luas, untuk implementasi autentikasi akhir.
Google’s OAuth 2.0 Playground
If you do want to call Google API’s, I would strongly recommend looking at Menggunakan akses offline dengan backend milikmu sendiriAs you can see:
VS __CAPGO_KEEP_0__ showing Google authentication __CAPGO_KEEP_1__ that verifies tokens
Menggunakan akses offline dengan backend sendiri AndaUntuk 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)
The code for this example can be found di sini
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()); }}Perhatikan apa yang hilang di sini: tidak ada SocialLogin.refresh() panggilan di aplikasi. Itu sengaja. Di mode offline Google, refresh terjadi setelah backend Anda bertukar 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-login Sosial Untuk detail implementasi di @capgo/capacitor-login Sosial, @capgo/capacitor-passkey Untuk detail implementasi di @capgo/capacitor-passkey, @capgo/capacitor-biometrik Nativ Untuk detail implementasi di @capgo/capacitor-biometrik Nativ, dan Autentikasi Dua Faktor Untuk detail implementasi di Autentikasi Dua Faktor.