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
Pastikan Anda memiliki Xcode 12.5 atau yang lebih baru.
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 (*).
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
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
Jika Anda belum melakukannya, tambahkan aplikasi iOS ke project Firebase menggunakan halaman Project settings di Firebase console.
Daftarkan aplikasi Anda untuk menggunakan App Check dengan penyedia App Attest di bagian App Check di Firebase console.
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
Di project Xcode, tetapkan dependensi Login dengan Google ke versi
8.0.0
atau yang lebih tinggi :SPM
Tetapkan aturan dependensi
googlesignin-ios
ke versi8.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.Di Xcode, tambahkan kemampuan App Attest ke aplikasi Anda.
Di file
.entitlements
project Anda, tetapkan lingkungan App Attest keproduction
.
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.