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 App Checktokena debugowania. 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 u dostawcy 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. Postępuj zgodnie z instrukcjami wyświetlanymi na ekranie, aby zarejestrować token debugowania.

    Zrzut ekranu z pozycją menu Zarządzaj tokenami debugowania w konsoli Firebase

Po zarejestrowaniu tokena w usłudze 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 debugowaniaFirebase konsoli.

.

Używanie dostawcy debugowania w środowisku CI

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

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

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

  2. Dodaj utworzony token debugowania do bezpiecznego magazynu kluczy systemu CI (np. zaszyfrowane klucze tajne w GitHub Actions lub zaszyfrowane zmienne 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 akceptują wysyłany przez nią token jako prawidłowy.