Mulai menggunakan App Check untuk Login dengan Google di iOS

Halaman ini menunjukkan cara mengaktifkan App Check di aplikasi iOS. Dengan mengaktifkan App Check, Anda membantu memastikan bahwa hanya aplikasi Anda yang dapat mengakses endpoint OAuth 2.0 Google atas nama project Anda. Lihat Ringkasan fitur ini.

App Check menggunakan App Attest untuk membantu memverifikasi bahwa permintaan OAuth 2.0 berasal dari aplikasi asli milik Anda. App Check tidak menggunakan App Attest untuk menganalisis risiko penipuan.

Sebelum memulai

  1. Pastikan Anda memiliki Xcode 12.5 atau yang lebih baru.

  2. Integrasikan Login dengan Google ke dalam aplikasi iOS Anda, menggunakan library Login dengan Google.

1. Menyiapkan project

App Check dapat diaktifkan di Google API Console atau di Firebase Console. Anda tidak perlu mengaktifkannya di kedua tempat, cukup di salah satu tempat saja.

Google API Console

Persyaratan berikut harus dipenuhi agar App Check berhasil diaktifkan untuk klien iOS Anda:
  • Anda harus menentukan ID tim untuk klien iOS.
  • Anda tidak boleh menggunakan karakter pengganti dalam ID paket karena dapat diselesaikan ke lebih dari satu aplikasi. Artinya, ID paket tidak boleh menyertakan simbol asteris (*).
Untuk mengaktifkan App Check, aktifkan tombol ganti Lindungi klien OAuth Anda dari penyalahgunaan dengan Firebase App Check di tampilan edit klien iOS Anda.

Setelah mengaktifkan App Check, Anda akan mulai melihat metrik terkait permintaan OAuth dari klien di tampilan edit klien OAuth. Permintaan dari sumber yang tidak terverifikasi tidak akan diblokir hingga Anda menerapkan App Check. Informasi di halaman pemantauan metrik dapat membantu Anda menentukan kapan harus memulai penegakan.

Anda mungkin melihat error terkait fitur App Check saat mengaktifkan App Check untuk aplikasi iOS Anda. Untuk memperbaiki error ini, coba langkah-langkah berikut:

  • Pastikan ID paket dan ID tim yang Anda tentukan valid.
  • Pastikan Anda tidak menggunakan karakter pengganti untuk ID paket.

Firebase Console

  1. Anda harus memiliki project Firebase untuk menggunakan App Check dengan Login dengan Google.

    • Jika aplikasi Anda sudah menggunakan Firebase, gunakan project yang sama.

    • Jika aplikasi Anda menggunakan Login dengan Google, tetapi tidak menggunakan Firebase, Anda sudah memiliki project Google Cloud. Tambahkan Firebase ke project Google Cloud Anda dengan memilihnya saat Anda membuat project baru di Firebase console.

      Lihat juga: Hubungan antara project Firebase dan Google Cloud

  2. Jika Anda belum melakukannya, tambahkan aplikasi iOS ke project Firebase menggunakan halaman Project settings di Firebase console.

  3. Daftarkan aplikasi Anda untuk menggunakan App Check dengan penyedia App Attest di bagian App Check di Firebase console.

  4. Pastikan semua klien OAuth project Anda ditautkan ke aplikasi.

    Jika Anda telah membatalkan tautan klien, Anda akan melihat pesan di bagian Google Identity for iOS di halaman App Check yang menyatakan, "Anda telah membatalkan tautan klien OAuth yang memerlukan penyiapan tambahan".n

    Selain itu, jika Anda telah menghapus beberapa klien OAuth setelah menyiapkannya di App Check, Anda akan melihat pesan yang menyatakan, "Anda memiliki npenggantian tanpa klien OAuth yang cocok". Anda dapat membersihkan dengan aman dengan menghapus penggantian tersebut.

    Anda dapat menautkan klien yang tidak tertaut ke aplikasi yang sudah ada atau baru di halaman klien OAuth di Firebase console.

2. Menambahkan library Login dengan Google ke aplikasi Anda

  1. Di project Xcode, tetapkan dependensi Login dengan Google ke versi 8.0.0 atau yang lebih tinggi :

    SPM

    Tetapkan aturan dependensi googlesignin-ios ke versi 8.0.0 atau yang lebih tinggi.

    CocoaPods

    Perbarui Podfile Anda:

    source 'https://github.com/CocoaPods/Specs.git'
    source 'https://github.com/firebase/SpecsDev.git'
    
    target 'YourAppName' do
      use_frameworks!
    
      pod 'GoogleSignIn','~> 8.0'
          :git => 'https://github.com/google/GoogleSignIn-iOS.git'
      pod 'GoogleSignInSwiftSupport'  # If you use SwiftUI.
    end
    

    Kemudian, jalankan pod install dan buka file .xcworkspace yang dibuat.

  2. Di Xcode, tambahkan kemampuan App Attest ke aplikasi Anda.

  3. Di file .entitlements project Anda, tetapkan lingkungan App Attest ke production.

3. Melakukan inisialisasi App Check

Dalam metode didFinishLaunchingWithOptions delegasi aplikasi Anda, panggil GIDSignIn.sharedInstance.configure(completion:). Anda harus memanggil metode ini sedini mungkin dalam siklus proses aplikasi untuk meminimalkan latensi yang dirasakan pengguna.

import SwiftUI
import GoogleSignIn

class AppDelegate: NSObject, UIApplicationDelegate {
  func application(
    _ application: UIApplication,
    didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil
  ) -> Bool {
    #if targetEnvironment(simulator)
    // Configure for debugging.
    // See: https://developers.google.com/identity/sign-in/ios/appcheck/debug-provider
    #else
    GIDSignIn.sharedInstance.configure { error in
      if let error {
        print("Error configuring `GIDSignIn` for Firebase App Check: \(error)")
      }
    }
    #endif

    return true
  }
}

@main
struct YourAppNameApp: App {
  @UIApplicationDelegateAdaptor(AppDelegate.self) var appDelegate

  // ...
}

Langkah berikutnya

Setelah library App Check terinstal di aplikasi Anda, mulai distribusikan aplikasi yang telah diupdate kepada pengguna.

Aplikasi klien yang diupdate akan mulai mengirimkan token App Check beserta setiap permintaan yang dibuatnya ke endpoint autentikasi Google, tetapi endpoint tersebut tidak akan mewajibkan token tersebut valid hingga Anda mengaktifkan penerapan di bagian App Check di Firebase console.

Memantau metrik

Namun, sebelum mengaktifkan penerapan, Anda harus memastikan bahwa tindakan tersebut tidak akan mengganggu pengguna sah yang sudah ada. Di sisi lain, jika Anda melihat penggunaan resource aplikasi yang mencurigakan, sebaiknya segera aktifkan penerapan.

Untuk membantu membuat keputusan ini, Anda dapat melihat metrik App Check untuk Login dengan Google.

Mengaktifkan penerapan App Check

Setelah memahami pengaruh App Check terhadap pengguna dan siap melanjutkan, Anda dapat mengaktifkan penerapan App Check.

Menggunakan App Check di lingkungan debug

Jika, setelah mendaftarkan aplikasi untuk App Check, Anda ingin menjalankan aplikasi di lingkungan yang biasanya tidak diklasifikasikan sebagai valid oleh App Check, seperti simulator selama pengembangan, atau dari lingkungan continuous integration (CI), Anda dapat membuat build debug aplikasi yang menggunakan penyedia debug App Check, bukan App Attest.

Lihat Menggunakan App Check dengan penyedia debug.