Użyj funkcji App Check u dostawcy debugowania na platformach Apple

Jeśli po zarejestrowaniu aplikacji w Kontroli aplikacji chcesz ją uruchomić w środowisku, którego weryfikacja aplikacji normalnie nie sklasyfikowałaby jako prawidłowe, na przykład w symulatorze podczas programowania lub w środowisku ciągłej integracji (CI), możesz utwórz kompilację debugowania swojej aplikacji, która korzysta z dostawcy debugowania App Check zamiast prawdziwego dostawcy zaświadczenia.

Użyj dostawcy debugowania w symulatorze

Aby użyć dostawcy debugowania podczas interaktywnego uruchamiania aplikacji w symulatorze (na przykład podczas programowania), wykonaj następujące czynności:

  1. W kompilacji debugowania, przed użyciem jakichkolwiek usług zaplecza Firebase, utwórz i ustaw fabrykę dostawcy debugowania App Check:

    Szybki

    let providerFactory = AppCheckDebugProviderFactory()
    AppCheck.setAppCheckProviderFactory(providerFactory)
    
    FirebaseApp.configure()

    Cel C

    FIRAppCheckDebugProviderFactory *providerFactory =
          [[FIRAppCheckDebugProviderFactory alloc] init];
    [FIRAppCheck setAppCheckProviderFactory:providerFactory];
    
    // Use Firebase library to configure APIs
    [FIRApp configure];
  2. Włącz rejestrowanie debugowania w projekcie Xcode (wersja 11.0 lub nowsza):

    1. Otwórz Produkt > Schemat > Edytuj schemat .
    2. Wybierz opcję Uruchom z lewego menu, a następnie wybierz kartę Argumenty .
    3. W sekcji Argumenty przekazywane przy uruchomieniu dodaj -FIRDebugEnabled .
  3. Uruchom aplikację. Lokalny token debugowania zostanie zarejestrowany, gdy zestaw SDK spróbuje wysłać żądanie do zaplecza. Na przykład:

    [Firebase/AppCheck][I-FAA001001] Firebase App Check Debug Token:
    123a4567-b89c-12d3-e456-789012345678
  4. W sekcji Sprawdzanie aplikacji w konsoli Firebase wybierz opcję Zarządzaj tokenami debugowania z rozszerzonego menu aplikacji. Następnie zarejestruj token debugowania zarejestrowany w poprzednim kroku.

    Zrzut ekranu przedstawiający element menu Zarządzaj tokenami debugowania

Po zarejestrowaniu tokena usługi zaplecza Firebase zaakceptują go jako ważny.

Ponieważ ten token umożliwia dostęp do zasobów Firebase bez ważnego urządzenia, ważne jest, aby zachować jego prywatność. Nie udostępniaj go w publicznym repozytorium, a jeśli kiedykolwiek zarejestrowany token zostanie kiedykolwiek naruszony, unieważnij go natychmiast w konsoli Firebase.

Użyj dostawcy debugowania w środowisku CI

Aby użyć dostawcy debugowania w środowisku ciągłej integracji (CI), wykonaj następujące czynności:

  1. W sekcji Sprawdzanie aplikacji w konsoli Firebase wybierz opcję Zarządzaj tokenami debugowania z rozszerzonego menu aplikacji. Następnie utwórz nowy token debugowania. Token będzie Ci potrzebny w następnym kroku.

    Ponieważ ten token umożliwia dostęp do zasobów Firebase bez ważnego urządzenia, ważne jest, aby zachować jego prywatność. Nie udostępniaj go w publicznym repozytorium, a jeśli kiedykolwiek zarejestrowany token zostanie kiedykolwiek naruszony, unieważnij go natychmiast w konsoli Firebase.

    Zrzut ekranu przedstawiający element menu Zarządzaj tokenami debugowania

  2. Dodaj właśnie utworzony token debugowania do bezpiecznego magazynu kluczy systemu CI (na przykład zaszyfrowanych kluczy tajnych GitHub Actions lub zaszyfrowanych zmiennych Travis CI).

  3. W razie potrzeby skonfiguruj system CI tak, aby token debugowania był dostępny w środowisku CI jako zmienna środowiskowa. Nadaj zmiennej nazwę podobną do APP_CHECK_DEBUG_TOKEN_FROM_CI .

  4. W Xcode dodaj zmienną środowiskową do schematu testowania o nazwie FIRAAppCheckDebugToken i wartości podobnej do $(APP_CHECK_DEBUG_TOKEN) .

  5. Skonfiguruj skrypt testowy CI, aby przekazywać token debugowania jako zmienną środowiskową. Na przykład:

    xcodebuild test -scheme YourTestScheme -workspace YourProject.xcworkspace \
    APP_CHECK_DEBUG_TOKEN=$(APP_CHECK_DEBUG_TOKEN_FROM_CI)
  6. W kompilacji debugowania, przed użyciem jakichkolwiek usług zaplecza Firebase, utwórz i ustaw fabrykę dostawcy debugowania App Check:

    Szybki

    let providerFactory = AppCheckDebugProviderFactory()
    AppCheck.setAppCheckProviderFactory(providerFactory)
    
    FirebaseApp.configure()

    Cel C

    FIRAppCheckDebugProviderFactory *providerFactory =
          [[FIRAppCheckDebugProviderFactory alloc] init];
    [FIRAppCheck setAppCheckProviderFactory:providerFactory];
    
    // Use Firebase library to configure APIs
    [FIRApp configure];

Gdy Twoja aplikacja działa w środowisku CI, usługi zaplecza Firebase akceptują wysyłany token jako prawidłowy.