Apple platformlarında App Attest ile Uygulama Kontrolü'nü kullanmaya başlayın

Bu sayfada, yerleşik App Attest sağlayıcısı. Uygulama Kontrolü'nü etkinleştirerek projenizin Firebase kaynaklarına yalnızca uygulamanız erişebilir. Bkz. Bu özelliğe genel bakış.

Uygulama Kontrolü, App Attest'i (Uygulama Onayı) kullanır. Firebase hizmetlerine gönderilen isteklerin gerçek uygulamanızdan geldiğini doğrulayın. Uygulama Kontrolü şu anda App Attest’i kullanarak sahtekarlık riskini analiz etme hakkında daha fazla bilgi edinin.

Uygulama Kontrolü'nü kendi özel sağlayıcınızla kullanmak istiyorsanız Özel bir Uygulama Kontrolü sağlayıcısı uygulayın.

1. Firebase projenizi oluşturun

  1. App Attest'i kullanmak için Xcode 12.5 veya üzeri bir sürümün yüklü olması gerekir.

  2. Henüz eklemediyseniz Firebase'i Apple projenize ekleyin oldu.

  3. App Attest sağlayıcısıyla Uygulama Kontrolü'nü kullanmak için uygulamalarınızı Uygulama Kontrolü bölümünde 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.

  4. İsteğe bağlı: Uygulama kayıt ayarlarında özel bir geçerlilik süresi ayarlayın. (TTL) - sağlayıcı tarafından verilen Uygulama Kontrolü jetonları için. TTL'yi ayarlayabilirsiniz. 30 dakika ile 7 gün arasında herhangi bir değere ayarlayabilirsiniz. Bu değeri değiştirirken, dikkate almanız gerekir:

    • 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. Uygulama Kontrolü kitaplığının yenilendiğini unutmayın jeton sayısını TTL'nin yaklaşık yarısına kadar uzatabilirsiniz.

2. Uygulama Kontrolü kitaplığını uygulamanıza ekleme

  1. Uygulama Kontrolü için bağımlılığı projenizin Podfile öğesine 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.

  2. pod install komutunu çalıştırın ve oluşturulan .xcworkspace dosyasını açın.

  3. Xcode'da, App Attest (Uygulama Onayı) özelliğini uygulamanıza ekleyin.

  4. Projenizin .entitlements dosyasında App Attest ortamını production.

3. Uygulama Kontrolü'nü Başlat

Başka bir Firebase kullanmadan önce Uygulama Kontrolü'nü başlatmanız gerekir SDK'lar.

İlk olarak bir AppCheckProviderFactory uygulaması 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 çalıştıran kullanıcılarınız varsa istediğiniz zaman AppAttestProvider nesne oluşturun:

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ı uyguladıktan sonra Kullanmak için Uygulama Kontrolü'nü kullanı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

Uygulama Kontrolü kitaplığı uygulamanıza yüklendikten sonra, uygulamayı kullanıcılarınıza güncelleyin.

Güncellenen istemci uygulaması, Firebase'e istek gönderir, ancak Firebase ürünleri için jeton gerekmez Firebase konsolu.

Metrikleri izleyin ve yaptırımı etkinleştirin

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ı olmak için hizmetler:

Uygulama Kontrolü'nün zorunlu kılınmasını etkinleştir

Uygulama Kontrolü'nün kullanıcılarınızı nasıl etkileyeceğini anladığınızda Devam ederseniz Uygulama Kontrolü'nün zorunlu kılınmasını etkinleştirebilirsiniz:

Hata ayıklama ortamlarında Uygulama Kontrolü'nü kullanma

Uygulamanızı Uygulama Kontrolü'ne kaydettikten sonra Uygulama Kontrolü'nün normalde geçerli olarak sınıflandıramadığı bir ortamda bulunması Örneğin, geliştirme sırasında kullanılan bir simülatör veya sürekli entegrasyon (CI) aracılığıyla uygulamanızın hata ayıklama derlemesini oluşturmak için Gerçek bir onay sağlayıcısı yerine Uygulama Kontrolü hata ayıklama sağlayıcısı

Apple platformlarında hata ayıklama sağlayıcısıyla Uygulama Kontrolü'nü kullanma başlıklı makaleye göz atın.