Używanie Sprawdzania aplikacji z dostawcą debugowania na platformach Apple

Po wymuszeniu App Check w usłudze backendu funkcje aplikacji, które zależą od tej usługi, nie będą działać w symulatorze ani w środowisku trybu ciągłej integracji (CI), ponieważ te środowiska nie są uznawane za prawidłowe urządzenia. Aby uruchamiać aplikację w tych środowiskach podczas programowania i testowania, musisz utworzyć kompilację do debugowania, która używa dostawcy debugowania App Check zamiast dostawcy atestu produkcyjnego.

Używanie dostawcy debugowania w symulatorze

Aby używać dostawcy debugowania podczas interaktywnego uruchamiania aplikacji w symulatorze (np. podczas lokalnego programowania):

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

    Swift

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

    Objective-C

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

    1. Uruchom aplikację w symulatorze lub na urządzeniu testowym.

    2. Otwórz konsolę Xcode i poszukaj tokena debugowania App Check. Przykład:

      <Warning> [AppCheckCore][I-GAC004001] App Check debug token: '123a4567-b89c-12d3-e456-789012345678'.
      
    3. Skopiuj token (na przykład 123a4567-b89c-12d3-e456-789012345678).

  3. Zarejestruj token debugowania w App Check:

    1. W konsoli Firebase otwórz kartę Zabezpieczenia > Sprawdzanie aplikacji > Aplikacje.

    2. Znajdź aplikację, kliknij rozszerzone menu (), a następnie wybierz Zarządzaj tokenami debugowania.

    3. Aby zarejestrować token debugowania, postępuj zgodnie z instrukcjami wyświetlanymi na ekranie.

    Zrzut ekranu przedstawiający element menu Zarządzaj tokenami debugowania w konsoli Firebase

Po zarejestrowaniu tokena w App Check usługi backendu będą go akceptować jako prawidłowy.

Ten token umożliwia dostęp do usług backendu bez prawidłowego urządzenia, dlatego ważne jest, aby zachować go w tajemnicy. Nie przesyłaj go do publicznego repozytorium ani nie dołączaj do wersji produkcyjnych aplikacji. Jeśli zarejestrowany token zostanie przejęty, natychmiast usuń go za pomocą opcji Zarządzaj tokenami debugowania w konsoli Firebase.

Używanie dostawcy debugowania w środowisku CI

Oto jak używać dostawcy debugowania do testów jednostkowych w środowisku trybu ciągłej integracji (CI):

  1. W konsoli Firebase utwórz token debugowania:

    1. W konsoli Firebase otwórz kartę Zabezpieczenia > Sprawdzanie aplikacji > Aplikacje.

    2. Znajdź aplikację, kliknij rozszerzone menu (), a następnie wybierz Zarządzaj tokenami debugowania.

    3. Aby utworzyć nowy token debugowania, postępuj zgodnie z instrukcjami wyświetlanymi na ekranie.

    Ten token umożliwia dostęp do usług backendu bez prawidłowego urządzenia, dlatego ważne jest, aby zachować go w tajemnicy. Nie przesyłaj go do publicznego repozytorium ani nie dołączaj do wersji produkcyjnych aplikacji. Jeśli zarejestrowany token zostanie przejęty, natychmiast usuń go za pomocą opcji Zarządzaj tokenami debugowania w konsoli Firebase.

    Zrzut ekranu przedstawiający pozycję menu Zarządzaj tokenami debugowania

  2. Dodaj utworzony token debugowania do bezpiecznego magazynu kluczy systemu CI (np. zaszyfrowanych obiektów tajnych GitHub Actions lub zaszyfrowanych zmiennych Travis CI).

  3. W razie potrzeby skonfiguruj system CI, aby udostępnić token debugowania w środowisku CI jako zmienną środowiskową. Nazwij zmienną, np. APP_CHECK_DEBUG_TOKEN_FROM_CI.

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

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

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

    Swift

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

    Objective-C

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

Gdy aplikacja działa w środowisku CI, usługi backendu akceptują wysyłany przez nią token jako prawidłowy.