Lompat ke konten

Firebase Google Login pada iOS

GitHub

Panduan ini akan membantu Anda mengintegrasikan Sign-In Google dengan Firebase Authentication pada iOS. Saya asumsikan Anda telah menyelesaikan setup Firebase Google secara umum. Catatan.

Bagian berjudul “Langkah-Langkah Pengaturan”

__CAPGO_KEEP_0__
  1. Pergi ke tampilan ringkasan proyek Anda di console.cloud.google.com

    Ringkasan Proyek Firebase
  2. Klik pada tombol Add app button

    Tombol Tambah Aplikasi Firebase Tombol Tambah Aplikasi Firebase
  3. Pilih iOS

    Tombol Tambah Aplikasi iOS Firebase
  4. Isi bagian pertama dari formulir

    1. Isi Apple bundle ID
      1. Buka Xcode di aplikasi Anda menggunakan npx cap open ios
      2. Klik dua kali pada App Target aplikasi di navigator Xcode
      3. Pastikan Anda berada di Targets -> App Bagian Target di Xcode dengan Aplikasi dipilih
      4. Cari Bundle Identifier Bidang Identifikasi Paket di pengaturan proyek Xcode
      5. Salin dan tempelkan di console Firebase Bundle Identifier Tombol Tambah Aplikasi iOS Firebase Bidang ID Paket iOS Tambah Aplikasi Firebase
    2. Klik pada tombol Register app Tombol Daftar iOS Tambah Aplikasi Firebase Lepaskan langkah
  5. Langkah Skip Download Tambah Aplikasi iOS Firebase Download config file Lepaskan langkah

    Langkah Skip Tambah Aplikasi iOS Firebase
  6. untuk sisa panduan ini. Add firebase SDK Salin dan tempelkan di console Firebase

    Tambahkan Aplikasi Firebase iOS Lewati Unduh Firebase SDK Tombol
  7. Lewati langkah ini Add initialization code Tambahkan Aplikasi Firebase iOS Lewati Tambahkan Inisialisasi __CAPGO_KEEP_0__ Tombol

    Firebase Add App iOS Skip Add Initialization Code Button
  8. Tombol Continue to console Lanjutkan ke Konsole

    Dapatkan ID klien iOS Anda dan Anda
  9. Lihat Google Cloud Console di YOUR_DOT_REVERSED_IOS_CLIENT_ID

    1. console.cloud.google.com Temukan proyek Anda

    2. Klik pada selector proyek

      1. Pilih proyek Anda Google Cloud Console Pemilih Projek
      2. Cari projek Anda dengan nama yang tepat dari projek Firebase Anda dan klik pada itu. Dalam kasus saya, itu adalah sociallogin-tutorial-app. Pemilih Projek Firebase Projek
    3. Buka bar pencarian dan buka credentials

      1. Buka bar pencarian Bar Pencarian Google Cloud Console
      2. Cari credentials dan klik pada APIs and Services satu (nomor 2 pada tangkapan layar) Pencarian Kredensial Google Cloud Console
    4. Klik pada iOS client for [YOUR_APP_ID] (auto created by Google Service) satu. Dalam kasus saya, itu adalah sociallogin-tutorial-app.

      Google Cloud Console Credentials ID Klien iOS
    5. Salinlah Client ID termasuk juga iOS URL schemeIni akan menjadi ID dan kunci rahasia Anda iOSClientId dan YOUR_DOT_REVERSED_IOS_CLIENT_ID.

      Google Cloud Console Credentials iOS Client ID Salin
  10. Dapatkan ID klien web Anda

    1. Kembali ke konsol Firebase dan pilih Build -> Authentication Menu Autentikasi Firebase
    2. Klik pada tombol Sign-in method Tombol Metode Autentikasi Firebase Klik pada
    3. Provider Autentikasi Firebase Google Klik pada Provider Google Tombol Metode Autentikasi Firebase
    4. Klik pada tombol Web SDK configuration Tombol Metode Autentikasi Google Metode Pendaftaran Firebase Authentication Web SDK Konfigurasi Tombol
    5. Salinlah Web client IDIni akan menjadi ID Anda webClientId dalam initialize metode plugin. Metode Pendaftaran Firebase Authentication Web SDK Konfigurasi ID Klien Web
  11. Modifikasi Info.plist aplikasi Anda

    1. Buka Xcode dan cari file Info.plist Info.plist

      file Info.plist di navigator proyek Xcode
    2. Klik kanan pada file ini dan buka sebagai sumber code

      Menu klik kanan menampilkan opsi Buka Sebagai Sumber Code
    3. Di bagian bawah file Anda, Anda akan melihat sebuah tag Plist tag penutup di file Info.plist </dict> Masukkan fragmen berikut sebelum tag penutup

      Info.plist dengan skema URL __CAPGO_KEEP_0__ yang dimasukkan sebelum tag penutup
    4. Salin ke clipboard </dict> Ubah nilai ini ke nilai yang dicopy di langkah 9 (skema URL iOS)

      Info.plist with URL schemes code inserted before closing dict tag
      <key>CFBundleURLTypes</key>
      <array>
      <dict>
      <key>CFBundleURLSchemes</key>
      <array>
      <string>YOUR_DOT_REVERSED_IOS_CLIENT_ID</string>
      </array>
      </dict>
      </array>
      <key>GIDClientID</key>
      <string>YOUR_IOS_CLIENT_ID.apps.googleusercontent.com</string>
    5. At the bottom of your YOUR_DOT_REVERSED_IOS_CLIENT_ID file, you will see a

      tag
  12. Ubah ke YOUR_IOS_CLIENT_ID ID Klien iOS yang Anda salin di langkah 9

  13. Simpan file dengan Command + S

  14. Ubah AppDelegate.swift

    1. Buka file AppDelegate

      Buka file AppDelegate.swift di navigator proyek Xcode
    2. Masukkan import GoogleSignIn di atas file

      AppDelegate.swift dengan import GoogleSignIn ditambahkan
    3. Temukan func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey: Any] = [:]) fungsi

      Fungsi aplikasi asli openURL di AppDelegate
    4. Modifikasi fungsi untuk terlihat seperti ini

      func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey: Any] = [:]) -> Bool {
      // Called when the app was launched with a url. Feel free to add additional processing here,
      // but if you want the App API to support tracking app url opens, make sure to keep this call
      var handled: Bool
      handled = GIDSignIn.sharedInstance.handle(url)
      if handled {
      return true
      }
      return ApplicationDelegateProxy.shared.application(app, open: url, options: options)
      }
      Fungsi aplikasi yang dimodifikasi dengan penanganan GoogleSignIn
    5. Simpan file dengan Command + S

  15. Menggunakan login Google di aplikasi Anda

    Pada langkah ini, Anda sudah siap untuk menggunakan login Google di aplikasi Anda. Silakan gunakan authUtils.ts file contoh aplikasi untuk mengautentikasi dengan Google

Pengguna akan dibuat secara otomatis di Firebase Auth pada pertama kali login

Jika autentikasi terhambat atau gagal:

  • Periksa bahwa idToken audience sesuai dengan ID klien web Firebase Anda
  • Periksa bahwa Google Sign-In diaktifkan di Firebase Console
  • Pastikan Info.plist memiliki URL schemes dan GIDClientID yang benar
  • Periksa iOSServerClientId sesuai dengan ID klien web Anda
  • Tinjau contoh aplikasi __CAPGO_KEEP_0__ example app code untuk referensi

Jika Anda menggunakan Firebase Google Login di iOS untuk merencanakan autentikasi dan alur akun, hubungkannya dengan Menggunakan @capgo/capacitor-login-sosial untuk kemampuan asli di Menggunakan @capgo/capacitor-login-sosial, Menggunakan @capgo/capacitor-login-sosial untuk detail implementasi di @capgo/capacitor-login-sosial, Menggunakan @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.