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 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 (*).
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
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
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 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
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
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.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, 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.