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 atau di Firebase Console. Anda tidak perlu mengaktifkannya di kedua tempat, cukup satu saja.

Persyaratan berikut harus dipenuhi agar berhasil mengaktifkan App Check untuk klien iOS Anda:
  • Anda harus menentukan ID tim untuk klien iOS.
  • Anda tidak boleh menggunakan karakter pengganti di ID paket karena dapat me-resolve ke lebih dari satu aplikasi. Artinya, ID paket tidak boleh menyertakan simbol tanda bintang (*).
Untuk mengaktifkan App Check, aktifkan tombol tombol 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 yang terkait dengan 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 penerapan.

Anda mungkin melihat error yang terkait dengan fitur App Check saat mengaktifkan App Check untuk aplikasi iOS. 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 dengan memilihnya saat 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 memiliki klien yang dibatalkan tautannya, Anda akan melihat pesan di bagian Google Identity for iOS di halaman App Check yang bertuliskan, "Anda memiliki n klien OAuth yang dibatalkan tautannya dan memerlukan penyiapan tambahan".

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

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

2. Menambahkan library Login dengan Google ke aplikasi

  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

    Update 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. Namun, endpoint tersebut tidak akan mewajibkan token untuk 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 oleh App Check sebagai valid, 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.