Bu sayfa, yerleşik Uygulama Onay sağlayıcısını kullanarak bir Apple uygulamasında Uygulama Kontrolünü nasıl etkinleştireceğinizi gösterir. Uygulama Kontrolü'nü etkinleştirdiğinizde, projenizin Firebase kaynaklarına yalnızca uygulamanızın erişebilmesini sağlamaya yardımcı olursunuz. Bu özelliğin bir Genel Bakışına bakın.
Uygulama Kontrolü, Firebase hizmetlerine yönelik isteklerin gerçek uygulamanızdan geldiğini doğrulamak için Uygulama Onayı'nı kullanır. Uygulama Kontrolü şu anda dolandırıcılık riskini analiz etmek için Uygulama Onayı kullanmamaktadır.
Uygulama Kontrolü'nü kendi özel sağlayıcınızla kullanmak istiyorsanız Özel Uygulama Kontrolü sağlayıcı uygulama bölümüne bakın.
1. Firebase projenizi kurun
Uygulama Onayını kullanmak için Xcode 12.5+ sürümüne ihtiyacınız olacak.
Henüz yapmadıysanız Firebase'i Apple projenize ekleyin .
Firebase konsolunun Uygulama Kontrolü bölümündeki Uygulama Onay sağlayıcısı ile Uygulama Kontrolünü kullanmak için uygulamalarınızı kaydedin.
Bir Firebase ürünü için zorlamayı etkinleştirdiğinizde, yalnızca kayıtlı uygulamalar ürünün arka uç kaynaklarına erişebileceğinden genellikle projenizin tüm uygulamalarını kaydetmeniz gerekir.
İsteğe bağlı : Uygulama kayıt ayarlarında, sağlayıcı tarafından verilen Uygulama Kontrolü belirteçleri için özel bir yaşam süresi (TTL) ayarlayın. TTL'yi 30 dakika ile 7 gün arasında herhangi bir değere ayarlayabilirsiniz. Bu değeri değiştirirken, aşağıdaki dengelere dikkat edin:
- Güvenlik: Daha kısa TTL'ler, sızan veya ele geçirilen bir jetonun bir saldırgan tarafından suistimal edilebileceği pencereyi azalttığı için daha güçlü güvenlik sağlar.
- Performans: Daha kısa TTL'ler, uygulamanızın tasdik işlemini daha sık gerçekleştireceği anlamına gelir. Uygulama doğrulama işlemi, her gerçekleştirildiğinde ağ isteklerine gecikme eklediğinden, kısa bir TTL uygulamanızın performansını etkileyebilir.
- Kota ve maliyet: Daha kısa TTL'ler ve sık yeniden onaylama, kotanızı daha hızlı tüketir ve ücretli hizmetler için potansiyel olarak daha yüksek maliyetlidir. Bkz . Kotalar ve sınırlar .
1 saatlik varsayılan TTL, çoğu uygulama için uygundur. Uygulama Kontrolü kitaplığının belirteçleri TTL süresinin yaklaşık yarısında yenilediğini unutmayın.
2. Uygulama Kontrolü kitaplığını uygulamanıza ekleyin
App Check bağımlılığını projenizin
Podfile
dosyasına ekleyin:pod 'FirebaseAppCheck'
Veya alternatif olarak bunun yerine Swift Paket Yöneticisini kullanabilirsiniz.
Güvendiğiniz diğer Firebase SDK'larının da en son sürümünü kullandığınızdan emin olun.
pod install
çalıştırın ve oluşturulan.xcworkspace
dosyasını açın.Xcode'da uygulamanıza Uygulama Onayı özelliğini ekleyin.
Projenizin
.entitlements
dosyasında, Uygulama Onay ortamınıproduction
olarak ayarlayın.
3. Uygulama Kontrolünü Başlatın
Başka bir Firebase SDK'sı kullanmadan önce Uygulama Kontrolü'nü başlatmanız gerekir.
İlk olarak, bir AppCheckProviderFactory
uygulaması yazın. Uygulamanızın özellikleri, kullanım durumunuza bağlı olacaktır.
Örneğin, yalnızca iOS 14 ve sonraki sürümlerde kullanıcılarınız varsa, her zaman AppAttestProvider
nesneleri oluşturabilirsiniz:
Süratli
Not: Bu Firebase ürünü, watchOS hedeflerinde mevcut değildir.
class YourSimpleAppCheckProviderFactory: NSObject, AppCheckProviderFactory { func createProvider(with app: FirebaseApp) -> AppCheckProvider? { return AppAttestProvider(app: app) } }
Amaç-C
Not: Bu Firebase ürünü, watchOS hedeflerinde mevcut değildir.
@interface YourSimpleAppCheckProviderFactory : NSObject <FIRAppCheckProviderFactory> @end @implementation YourSimpleAppCheckProviderFactory - (nullable id<FIRAppCheckProvider>)createProviderWithApp:(nonnull FIRApp *)app { return [[FIRAppAttestProvider alloc] initWithApp:app]; } @end
Veya iOS 14 ve sonraki sürümlerde AppAttestProvider
nesneleri oluşturabilir ve önceki sürümlerde DeviceCheckProvider
geri dönebilirsiniz:
Süratli
Not: Bu Firebase ürünü, watchOS hedeflerinde mevcut değildir.
class YourAppCheckProviderFactory: NSObject, AppCheckProviderFactory { func createProvider(with app: FirebaseApp) -> AppCheckProvider? { if #available(iOS 14.0, *) { return AppAttestProvider(app: app) } else { return DeviceCheckProvider(app: app) } } }
Amaç-C
Not: Bu Firebase ürünü, watchOS hedeflerinde mevcut değildir.
@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 kullanmak için yapılandırın:
Süratli
Not: Bu Firebase ürünü, watchOS hedeflerinde mevcut değildir.
let providerFactory = YourAppCheckProviderFactory() AppCheck.setAppCheckProviderFactory(providerFactory) FirebaseApp.configure()
Amaç-C
Not: Bu Firebase ürünü, watchOS hedeflerinde mevcut değildir.
YourAppCheckProviderFactory *providerFactory = [[YourAppCheckProviderFactory alloc] init]; [FIRAppCheck setAppCheckProviderFactory:providerFactory]; [FIRApp configure];
Sonraki adımlar
Uygulama Kontrolü kitaplığı uygulamanıza yüklendikten sonra, güncellenmiş uygulamayı kullanıcılarınıza dağıtmaya başlayın.
Güncellenen istemci uygulaması, Firebase'e yaptığı her istekle birlikte Uygulama Kontrolü belirteçleri göndermeye başlayacak, ancak Firebase konsolunun Uygulama Kontrolü bölümünde zorlamayı etkinleştirene kadar Firebase ürünleri, belirteçlerin geçerli olmasını gerektirmeyecektir.
Metrikleri izleyin ve yaptırımı etkinleştirin
Ancak yaptırımı etkinleştirmeden önce, bunu yapmanın mevcut yasal kullanıcılarınızı kesintiye uğratmayacağından emin olmalısınız. Öte yandan, uygulama kaynaklarınızın şüpheli bir şekilde kullanıldığını görüyorsanız yaptırımı daha erken etkinleştirmek isteyebilirsiniz.
Bu kararı vermenize yardımcı olması için, kullandığınız hizmetler için Uygulama Kontrolü ölçümlerine bakabilirsiniz:
- Realtime Database, Cloud Firestore, Cloud Storage ve Authentication (beta) için App Check istek ölçümlerini izleyin .
- Bulut İşlevleri için Uygulama Kontrolü istek ölçümlerini izleyin .
Uygulama Kontrolü zorlamasını etkinleştir
Uygulama Kontrolü'nün kullanıcılarınızı nasıl etkileyeceğini anladığınızda ve devam etmeye hazır olduğunuzda, Uygulama Kontrolü uygulamasını etkinleştirebilirsiniz:
- Realtime Database, Cloud Firestore, Cloud Storage ve Authentication (beta) için App Check zorlamasını etkinleştirin .
- Cloud Functions için App Check zorlamasını etkinleştirin .
Hata ayıklama ortamlarında Uygulama Kontrolü kullanın
Uygulamanızı Uygulama Kontrolü için kaydettikten sonra, uygulamanızı Geliştirme sırasında bir simülatör veya sürekli entegrasyon (CI) ortamı gibi Uygulama Kontrolü'nün normalde geçerli olarak sınıflandırmadığı bir ortamda çalıştırmak isterseniz, şunları yapabilirsiniz: uygulamanızın gerçek bir doğrulama sağlayıcısı yerine Uygulama Kontrolü hata ayıklama sağlayıcısını kullanan bir hata ayıklama yapısı oluşturun.
App Check'i Apple platformlarında hata ayıklama sağlayıcısıyla kullanma konusuna bakın.