Lebih cepat ke konten

Pengaturan Login Google

GitHub

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

  • Salah satu akun Google

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

  1. Tolong kunjungi https://console.cloud.google.com
  2. Pilih proyek selector Pilih Proyek Google Console
  3. Jika Anda belum memiliki proyek, silakan Buat proyek baru.
    1. Pilih New project Tombol Proyek Baru di Google Console
    2. Berikan nama proyek dan pilih Create Jendela pengaturan 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 tepat
  4. Mulai mengonfigurasi OAuth consent screen
    1. Pilih bar pencarian

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

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

      Klik pada create

      Pemilihan jenis pengguna OAuth layar persetujuan dengan opsi Internal dan External
  5. Isi informasi tentang aplikasi Anda
    1. 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. You BISA Tambahkan logo aplikasi.

        Bagian unggah logo aplikasi di layar persetujuan OAuth
      2. Anda SEBAIKNYA konfigurasi App domain

        Bagian konfigurasi domain aplikasi dengan bidang domain yang diotorisasi
      3. Kamu context Berikan alamat email pengembang

        Informasi Kontak Pengembang dengan Bidang Email
      4. Klik di save and continue

        Bagian informasi kontak pengembang dengan field email
  6. Konfigurasi ruang lingkup
    1. Klik di add or remove scopes

      Simpan dan Lanjutkan tombol di bagian bawah formulir
    2. Pilih skop berikut dan klik update

      Dialog pemilihan skop dengan skop email dan profil yang 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 Form input alamat email dan tombol Tambah Pengguna untuk pengguna uji
    3. Klik save and continue Tombol Lanjutkan dan Simpan di layar pengguna uji
  8. Klik back to dashboard Kembali ke dashboard tombol di bawah halaman selesai
  9. Kirimkan aplikasi Anda untuk verifikasi

Perbedaan antara akses online dan akses offline

Bab berjudul “Perbedaan antara akses online dan akses offline”

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

Akses onlineAkses offline
Memerlukan backend❌✅
Token akses yang berumur lama❌✅
Pengaturan Mudah✅❌

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

  1. Anda ingin membuat pengguna masuk, segera setelah itu Anda akan mengeluarkan token JWT yang disesuaikan. Aplikasi Anda TIDAK akan mengakses API Google.

    Pilih akses online di sini.

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

    In this case, choose online access

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

    Ini kasusnya, pilih akses online

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

    Ini kasusnya, pilih akses offline

Dalam bagian ini dari tutorial, saya akan menunjukkan cara memvalidasi pengguna di backend Anda.

Contoh ini akan sangat sederhana dan didasarkan pada teknologi berikut:

Pengguna dapat menemukan code untuk contoh ini di sini

As kamu bisa lihat:

VS Code menampilkan autentikasi Google code yang memverifikasi token

Idea sederhana ini adalah mengirimkan permintaan sederhana. GET permintaan ke https://www.googleapis.com/oauth2/v3/tokeninfo and this returns you whether the token is valid or not and if it it is, it gives you the email of the user. It also gives you some other info about the user token

Google OAuth Playground menampilkan informasi respons token dengan detail pengguna

From there, you could issue the user with your own JWT or issue some sort of session cookie. The possibilities are endless, for the final auth implementation.

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

Menggunakan akses offline dengan backend sendiri

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 code untuk contoh ini dapat ditemukan di sini

Untuk code klien, itu 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() refresh di aplikasi. Ini sengaja dilakukan. Dalam mode offline Google, refresh terjadi setelah backend Anda melakukan pertukaran. serverAuthCode Lanjutkan dari Pengaturan Login Google

Pengaturan Login Google Pengaturan Login Google Menggunakan @__CAPGO_KEEP_0__/__CAPGO_KEEP_1__-login sosial Menggunakan @capgo/capacitor-login Sosial Untuk kemampuan asli di @capgo/capacitor-social-login. @capgo/capacitor-login sosial 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.