Bu sayfada, yerleşik App Attest sağlayıcısını kullanarak bir Apple uygulamasında App Check'ün nasıl etkinleştirileceği gösterilmektedir. App Check özelliğini etkinleştirerek projenizin Firebase kaynaklarına yalnızca uygulamanız erişebilir. Bu özelliğe genel bakış
App Check, App Attest'i kullanır Firebase hizmetlerine gönderilen isteklerin gerçek uygulamanızdan geldiğini doğrulayın. App Check, şu anda App Attestan'ı şu amaçlarla kullanmıyor: sahtekarlık riskini analiz edin.
App Check'ü kendi özel sağlayıcınızla kullanmak istiyorsanız Özel App Check sağlayıcı uygulama başlıklı makaleyi inceleyin.
1. Firebase projenizi oluşturun
App Attest'i kullanmak için Xcode 12.5 veya üzeri bir sürümün yüklü olması gerekir.
Henüz eklemediyseniz Firebase'i Apple projenize ekleyin oldu.
App Check uygulamasını App Attest sağlayıcısıyla kullanmak için uygulamalarınızı App Check Firebase konsolu.
Genellikle projenizdeki tüm uygulamaları kaydetmeniz gerekir çünkü bir kez bir Firebase ürünü için zorunlu kılmayı etkinleştirdiğinizde, yalnızca kayıtlı uygulamalar arka uç kaynaklarına erişmek için kullanılabilir.
İsteğe bağlı: Uygulama kayıt ayarlarında özel bir geçerlilik süresi ayarlayın. Sağlayıcı tarafından verilen App Check jeton için (TTL). TTL'yi 30 dakika ile 7 gün arasında herhangi bir değere ayarlayabilirsiniz. Bu değeri değiştirirken aşağıdaki dengeleri göz önünde bulundurun:
- Güvenlik: Daha kısa TTL'ler daha güçlü güvenlik sağlar, çünkü bir jetonun sızdırıldığı veya ele geçirildiği bir pencerenin ele alacağız.
- Performans: Daha kısa TTL'ler, uygulamanızın onay sürecini daha fazla yapacağı anlamına gelir. alabilir. Uygulama onay işlemi, ağa gecikmeyi eklediğinden her gerçekleştirildiğinde kısa bir TTL, performansı etkileyebilir. en iyi yoludur.
- Kota ve maliyet: Daha kısa TTL'ler ve sık yapılan yeniden onay süreleri daha hızlı sunmamızı sağlar ve ücretli hizmetler için maliyeti daha yüksek olabilir. Bkz. Kotalar ve kontrol edin.
Şu alanın varsayılan TTL'si: 1 saat çoğu uygulama için makul bir değerdir. App Check kitaplığının yenilendiğini unutmayın jeton sayısını TTL'nin yaklaşık yarısına kadar uzatabilirsiniz.
2. App Check kitaplığını uygulamanıza ekleme
App Check bağımlılığını projenizin
Podfile
dosyasına ekleyin:pod 'FirebaseAppCheck'
Alternatif olarak Swift Package'ı kullanabilirsiniz. Yöneticisi'ni seçin.
Diğer tüm Firebase SDK'larının en son sürümünü kullandığınızdan emin olun yardımcı olur.
pod install
komutunu çalıştırın ve oluşturulan.xcworkspace
dosyasını açın.Xcode'da, App Attest (Uygulama Onayı) özelliğini uygulamanıza ekleyin.
Projenizin
.entitlements
dosyasında, Uygulama Onayı ortamınıproduction
olarak ayarlayın.
3. App Check başlatılıyor
Başka bir Firebase kullanmadan önce App Check uygulamasını başlatmanız gerekir. SDK'lar.
Öncelikle AppCheckProviderFactory
için bir uygulama yazın. özellikleri,
uygulamanız, kullanım alanınıza bağlıdır.
Örneğin, yalnızca iOS 14 ve sonraki sürümleri kullanan kullanıcılarınız varsa her zaman AppAttestProvider
nesneleri oluşturabilirsiniz:
Swift
Not: Bu Firebase ürünü, watchOS hedeflerinde kullanılamaz.
class YourSimpleAppCheckProviderFactory: NSObject, AppCheckProviderFactory { func createProvider(with app: FirebaseApp) -> AppCheckProvider? { return AppAttestProvider(app: app) } }
Objective-C
Not: Bu Firebase ürünü, watchOS hedeflerinde kullanılamaz.
@interface YourSimpleAppCheckProviderFactory : NSObject <FIRAppCheckProviderFactory> @end @implementation YourSimpleAppCheckProviderFactory - (nullable id<FIRAppCheckProvider>)createProviderWithApp:(nonnull FIRApp *)app { return [[FIRAppAttestProvider alloc] initWithApp:app]; } @end
İsterseniz iOS 14 ve sonraki sürümlerde AppAttestProvider
nesne oluşturup sonbaharda
önceki sürümlerde DeviceCheckProvider
sürümüne geri dön:
Swift
Not: Bu Firebase ürünü, watchOS hedeflerinde kullanılamaz.
class YourAppCheckProviderFactory: NSObject, AppCheckProviderFactory { func createProvider(with app: FirebaseApp) -> AppCheckProvider? { if #available(iOS 14.0, *) { return AppAttestProvider(app: app) } else { return DeviceCheckProvider(app: app) } } }
Objective-C
Not: Bu Firebase ürünü, watchOS hedeflerinde kullanılamaz.
@interface YourAppCheckProviderFactory : NSObject <FIRAppCheckProviderFactory> @end @implementation YourAppCheckProviderFactory - (nullable id<FIRAppCheckProvider>)createProviderWithApp:(nonnull FIRApp *)app { if (@available(iOS 14.0, *)) { return [[FIRAppAttestProvider alloc] initWithApp:app]; } else { return [[FIRDeviceCheckProvider alloc] initWithApp:app]; } } @end
Bir AppCheckProviderFactory
sınıfını uyguladıktan sonra App Check'i kullanacak şekilde yapılandırın:
Swift
Not: Bu Firebase ürünü, watchOS hedeflerinde kullanılamaz.
let providerFactory = YourAppCheckProviderFactory() AppCheck.setAppCheckProviderFactory(providerFactory) FirebaseApp.configure()
Objective-C
Not: Bu Firebase ürünü, watchOS hedeflerinde kullanılamaz.
YourAppCheckProviderFactory *providerFactory = [[YourAppCheckProviderFactory alloc] init]; [FIRAppCheck setAppCheckProviderFactory:providerFactory]; [FIRApp configure];
Sonraki adımlar
App Check kitaplığı uygulamanıza yüklendikten sonra, uygulamayı kullanıcılarınıza güncelleyin.
Güncellenen istemci uygulaması, Firebase'e gönderdiği her istekle birlikte App Check jetonları göndermeye başlar. Ancak Firebase konsolunun App Check bölümünde yaptırımı etkinleştirene kadar Firebase ürünleri, jetonların geçerli olmasını gerektirmez.
Metrikleri izleme ve yaptırımı etkinleştirme
Ancak, zorunlu kılmayı etkinleştirmeden önce, bu işlemin Mevcut güvenli kullanıcılarınızı kesintiye uğratabilir. Öte yandan, benzer bir Uygulama kaynaklarınızın şüpheli kullanımı durumunda, zorunlu kılma ayarını etkinleştirerek gerekir.
Bu kararı vermenize yardımcı olması için kullandığınız hizmetlerle ilgili App Check metriklerini inceleyebilirsiniz:
- Şunun için App Check istek metriklerini izleyin: Realtime Database, Cloud Firestore, Cloud Storage, Firebase Data Connect (Önizleme), Authentication (beta) ve Vertex AI in Firebase (Önizleme).
- Cloud Functions için App Check istek metriklerini izleyin.
App Check zorunlu kılmayı etkinleştir
App Check'ün kullanıcılarınızı nasıl etkileyeceğini anladıktan ve devam etmeye hazır olduğunuzda App Check yaptırımını etkinleştirebilirsiniz:
- Şunun için App Check yaptırımını etkinleştir: Realtime Database, Cloud Firestore, Cloud Storage, Firebase Data Connect (Önizleme), Authentication (beta) ve Vertex AI in Firebase (Önizleme).
- Cloud Functions için App Check yaptırımını etkinleştirin.
Hata ayıklama ortamlarında App Check kullanma
Uygulamanızı App Check'e kaydettikten sonra uygulamanızı App Check'ün normalde geçerli olarak sınıflandırmayacağı bir ortamda (ör. geliştirme sırasında bir simülatörde) veya sürekli entegrasyon (CI) ortamında çalıştırmak istiyorsanız gerçek bir doğrulama sağlayıcısı yerine App Check hata ayıklama sağlayıcısını kullanan uygulamanızın hata ayıklama derlemesini oluşturabilirsiniz.
Apple platformlarında hata ayıklama sağlayıcısıyla App Check uygulamasını kullanma başlıklı makaleyi inceleyin.