Hata ayıklama sağlayıcısıyla 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 App Attest yerine Uygulama Kontrolü hata ayıklama sağlayıcısı.

Bir simülasyon aracında hata ayıklama sağlayıcıyı kullanma

Uygulamanızı bir simülasyon aracında etkileşimli olarak çalıştırırken hata ayıklama sağlayıcısını kullanmak için (örneğin, geliştirme sırasında) aşağıdakileri yapın:

  1. Kimlik bilgileri bölümünde projenizin iOS API anahtarını bulun API'ler ve Hizmetler bölümünde bulabilirsiniz.

  2. Hata ayıklama derlemenizde, hata ayıklama sağlayıcısını kullanmak için Uygulama Kontrolü'nü yapılandırın. Bir sonraki önceki adımda aldığınız API anahtarını belirtmeniz gerekir.

    #if targetEnvironment(simulator)
    GIDSignIn.sharedInstance.configureDebugProvider(withAPIKey: apiKey) { error in
      if let error {
        print("Error configuring `GIDSignIn` for App Check: \(error)")
      }
    }
    #else
    // Configure App Check for production.
    #endif
    
  3. Uygulamayı başlatın. Aşağıdaki durumlarda Xcode konsoluna yerel bir hata ayıklama jetonu kaydedilir SDK, arka uca istek göndermeye çalışır. Örneğin:

    <Warning> [AppCheckCore][I-GAC004001] App Check debug token:
    '123a4567-b89c-12d3-e456-789012345678'.
    
  4. Uygulama Kontrolü bölümünde bölümünde, uygulamanızın ayarlarından Hata ayıklama jetonlarını yönet'i taşma menüsü. Ardından, önceki girişte günlüğe kaydettiğiniz hata ayıklama jetonunu kaydedin adımına geçelim.

    Hata Ayıklama Jetonlarını Yönet menü öğesinin ekran görüntüsü

Jetonu kaydetmenizin ardından Google'ın OAuth 2.0 uç noktaları, jetonu şu şekilde kabul eder: geçerli olur.

Bu jeton, gizli tutmanız çok önemlidir. Hiçbir zaman kayıtlı bir jetonun güvenliği ihlal edilirse bu kodu iptal edebilir Firebase konsolunda hemen kullanabilirsiniz.

Hata ayıklama sağlayıcısını CI ortamında kullanma

Hata ayıklama sağlayıcısını sürekli entegrasyon (CI) ortamında kullanmak için takip etmek için:

  1. Uygulama Kontrolü bölümünde bölümünde, uygulamanızın ayarlarından Hata ayıklama jetonlarını yönet'i taşma menüsü. Ardından yeni bir hata ayıklama jetonu oluşturun. Belgenin bir sonraki adıma geçebiliriz.

    Bu jeton, olması çok önemlidir. Bu nedenle, cihazı gizli tutmalısınız. Hiçbir zaman kayıtlı bir jetonun güvenliği ihlal edilirse bu kodu iptal edebilir Firebase konsolunda hemen kullanabilirsiniz.

    Hata Ayıklama Jetonlarını Yönet menü öğesinin ekran görüntüsü

  2. Oluşturduğunuz hata ayıklama jetonunu CI sisteminizin güvenli anahtar deposuna ekleyin (örneğin, GitHub İşlemleri'nin şifrelenmiş gizli anahtarları) ya da Travis CI'nın şifrelenmiş değişkenleri) kaldırın.

  3. Gerekirse hata ayıklama jetonunuzu kullanılabilir hale getirmek için CI sisteminizi yapılandırın arasında bir ortam değişkeni olarak gösterilir. Değişkene ad verin APP_CHECK_DEBUG_TOKEN_FROM_CI gibi bir değerdir.

  4. Xcode'da şu adıyla test şemanıza bir ortam değişkeni ekleyin: FIRAAppCheckDebugToken ve $(APP_CHECK_DEBUG_TOKEN) gibi bir ifade: değer.

  5. CI test komut dosyanızı, hata ayıklama jetonunu ortam olarak geçirecek şekilde yapılandırma değişkenine eklenmelidir. Örneğin:

    xcodebuild test -scheme YourTestScheme -workspace YourProject.xcworkspace \
    APP_CHECK_DEBUG_TOKEN=$(APP_CHECK_DEBUG_TOKEN_FROM_CI)
  6. Kimlik bilgileri bölümünde projenizin iOS API anahtarını bulun API'ler ve Hizmetler bölümünde bulabilirsiniz.

  7. Hata ayıklama derlemenizde, hata ayıklama sağlayıcısını kullanmak için Uygulama Kontrolü'nü yapılandırın. Bir sonraki önceki adımda aldığınız API anahtarını belirtmeniz gerekir.

    #if targetEnvironment(simulator)
    GIDSignIn.sharedInstance.configureDebugProvider(withAPIKey: apiKey) { error in
      if let error {
        print("Error configuring `GIDSignIn` for App Check: \(error)")
      }
    }
    #else
    // Configure App Check for production.
    #endif
    

Uygulamanız bir CI ortamında çalıştığında Google'ın OAuth 2.0 uç noktaları şunları kabul eder: projeniz için geçerli olarak gönderdiği jetonu işaret eder.