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 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 aplikasi iOS Anda menggunakan library Login dengan Google.

1. Menyiapkan project

  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, berarti Anda sudah memiliki project Google Cloud. Tambahkan Firebase ke project Google Cloud dengan memilihnya saat Anda membuat project baru di Firebase console

    Lihat juga: Hubungan antara project Firebase dan Google Cloud

  2. Jika belum melakukannya, tambahkan aplikasi iOS Anda 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 pada Firebase console.

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

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

    Selain itu, jika beberapa klien OAuth telah dihapus setelah menyiapkannya di App Check, Anda akan melihat pesan yang bertuliskan, Anda memiliki n penggantian tanpa klien OAuth yang cocok. Anda dapat membersihkannya secara aman dengan menghapus {i>override<i} tersebut.

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

2. Menambahkan library Login dengan Google versi Beta ke aplikasi Anda

  1. Di project Xcode Anda, tetapkan dependensi Login dengan Google ke versi 7.1.0-fac-beta-1.1.0:

    SPM

    Tetapkan aturan dependensi googlesignin-ios ke versi yang tepat: 7.1.0-fac-beta-1.1.0.

    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',
          :git => 'https://github.com/google/GoogleSignIn-iOS.git',
          :tag => '7.1.0-fac-beta-1.1.0'
      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. Pada 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 seawal 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 tidak akan mewajibkan token tersebut valid hingga Anda mengaktifkan penerapan di bagian App Check pada Firebase console.

Memantau metrik

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 akan 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.