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

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

  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 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.

  4. İ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

  1. 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.

  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, 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:

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:

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.