Lompat ke konten

Firebase Login Google pada iOS

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

  1. Buka halaman ringkasan proyek Anda di console.cloud.google.com

    Ringkasan Proyek Firebase
  2. Klik pada tombol Add app tombol

    Firebase Tambah Aplikasi Button Firebase Tambah Aplikasi Button
  3. Pilih iOS

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

    1. Isi Apple bundle ID
      1. Buka Xcode di aplikasi Anda npx cap open ios
      2. Doppel klik pada App App target di navigator Xcode
      3. Pastikan Anda berada di Targets -> App Bab Targets di Xcode dengan App dipilih
      4. Cari ID Bundle Identifier Field Identifier Paket di pengaturan proyek Xcode
      5. Salin Bundle Identifier dan tempelkan di console Firebase Firebase Tambah Aplikasi iOS ID Bundle Field
    2. Klik pada tombol Register app button Firebase Tambah Aplikasi iOS Tombol Daftar
  5. Lewatkan langkah Download config file step

    Firebase Tambah Aplikasi iOS Lewatkan Unduh Tombol
  6. Lewatkan langkah Add firebase SDK Firebase Tambah Aplikasi iOS Lewatkan Unduh Firebase __CAPGO_KEEP_0__ Tombol

    Firebase Add App iOS Skip Download Firebase SDK Button
  7. step Add initialization code Firebase Tambah Aplikasi iOS Lewatkan Unduh Firebase __CAPGO_KEEP_0__ Button

    Tambahkan Aplikasi Firebase iOS Lewati Tambahkan Inisialisasi Code Tombol
  8. Klik pada tombol Continue to console tombol

    Tambahkan Aplikasi Firebase iOS Lanjutkan ke Konsol Tombol
  9. Dapatkan ID klien iOS Anda dan ID klien Anda YOUR_DOT_REVERSED_IOS_CLIENT_ID

    1. Buka konsol Google Cloud di console.cloud.google.com

    2. Temukan proyek Anda

      1. Klik pada selector proyek Google Cloud Console Selector Proyek
      2. Cari proyek Anda dengan nama yang tepat dari proyek Firebase Anda dan klik pada itu. Dalam kasus saya, itu adalah sociallogin-tutorial-app. Selector Proyek Firebase Proyek
    3. Buka baris pencarian dan buka credentials

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

      Google Cloud Console Cari Kredensial ID Klien iOS
    5. Salin Client ID sebagai well sebagai iOS URL schemeIni akan menjadi masing-masing milik Anda iOSClientId dan YOUR_DOT_REVERSED_IOS_CLIENT_ID.

      ID Klien iOS Console Google Cloud Copy
  10. Ambil ID klien web Anda

    1. Kembali ke console Firebase dan pergi ke Build -> Authentication Menu Autentikasi Firebase
    2. Klik pada tombol Sign-in method tombol Tombol Metode Autentikasi Firebase Sign-in
    3. Klik pada Google provider Tombol Metode Autentikasi Firebase Sign-in Google
    4. Klik pada Web SDK configuration tombol Tombol Konfigurasi Web SDK untuk Autentikasi Firebase Sign-in Metode
    5. Salin Web client ID Ini akan menjadi kode Anda webClientId dalam metode plugin ini. initialize Metode Pendaftaran Firebase Sign-in Web __CAPGO_KEEP_0__ Konfigurasi Web ID Klien Firebase Authentication Sign-in Method Web SDK Configuration Web Client ID
  11. Buka Xcode dan cari file

    1. File Info.plist di navigator proyek Xcode Info.plist Klik kanan pada file ini dan buka sebagai sumber __CAPGO_KEEP_0__

      Menu klik kanan menampilkan opsi Buka Sebagai Sumber __CAPGO_KEEP_0__
    2. Right click this file and open it as source code

      Right-click menu showing Open As Source Code option
    3. di bagian bawah file Anda, Anda akan melihat tag Plist di bagian bawah file Anda, Anda akan melihat tag </dict> di bagian bawah file Anda, Anda akan melihat tag

      Menutup tag dict di file Info.plist
    4. Masukkan fragmen berikut tepat sebelum menutup tag </dict> tag

      Info.plist dengan skema URL code dimasukkan sebelum menutup tag dict
      <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. Ubah ke nilai yang dicopy di langkah 9 (skema URL iOS) YOUR_DOT_REVERSED_IOS_CLIENT_ID Info.plist dengan ID klien yang diubah menjadi balik dimasukkan di skema URL

      Peringatan
  12. Ubah ke ID Klien iOS yang Anda salin pada langkah 9 YOUR_IOS_CLIENT_ID Simpan file dengan

  13. Modifikasi Command + S

  14. Buka file AppDelegate AppDelegate.swift

    1. Buka file AppDelegate.swift di navigator proyek Xcode

      Masukkan
    2. di atas file AppDelegate.swift dengan import GoogleSignIn ditambahkan import GoogleSignIn Cari

      fungsi
    3. __CAPGO_KEEP_0__ func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey: Any] = [:]) __CAPGO_KEEP_1__

      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 telah 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 berkas contoh aplikasi untuk mengautentikasi dengan Google.

Pengguna akan dibuat secara otomatis di Firebase Auth pada pertama kali sign-in

Jika autentikasi mengalami keterlambatan atau gagal:

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