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

Po wymuszeniu App Check w przypadku usługi 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 kwalifikują się jako prawidłowe urządzenia. Aby uruchamiać aplikację w tych środowiskach podczas programowania i testowania, musisz utworzyć wersję debugowania aplikacji, która używa App Check dostawcy debugowania zamiast dostawcy atestów produkcyjnych.

Używanie dostawcy debugowania w symulatorze

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

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

    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 (np. 123a4567-b89c-12d3-e456-789012345678).

  3. Zarejestruj token debugowania w usłudze App Check:

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

    2. Znajdź aplikację, kliknij rozszerzone menu z trzema kropkami , a potem wybierz Zarządzaj tokenami debugowania.

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

    Zrzut ekranu z pozycją 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 naruszony, natychmiast go usuń, korzystając z 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:

  1. W konsoli Firebase utwórz token debugowania:

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

    2. Znajdź aplikację, kliknij rozszerzone menu z trzema kropkami , a potem 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 naruszony, natychmiast go usuń, korzystając z 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ągłej integracji (np. zaszyfrowanych kluczy tajnych w GitHub Actions lub zaszyfrowanych zmiennych w Travis CI).

  3. W razie potrzeby skonfiguruj system CI, aby udostępnić token debugowania w środowisku CI jako zmienną środowiskową. Nadaj zmiennej nazwę, 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 scenariusz testowania 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 App Check fabrykę dostawcy debugowania:

    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 będą akceptować wysyłany przez nią token jako prawidłowy.