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

Jeśli po zarejestrowaniu aplikacji w usłudze App Check chcesz uruchomić ją w środowisku, które App Check normalnie nie uzna za prawidłowe, np. w symulatorze lub na urządzeniu podczas tworzenia lub w środowisku ciągłej integracji (CI), możesz utworzyć wersję debugowania aplikacji, która używa dostawcy debugowania App Check zamiast prawdziwego dostawcy uwierzytelniania.

Korzystanie z dostawcy debugowania podczas tworzenia

Aby korzystać z usługi debugowania podczas uruchamiania aplikacji w trybie interaktywnym (np. podczas tworzenia aplikacji), wykonaj te czynności:

  1. W wersji debugowania, zanim zaczniesz używać usług backendu Firebase, utwórz i skonfiguruj fabrykę dostawców 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. Włącz debugowanie w projekcie Xcode (w wersji 11.0 lub nowszej):

    1. Kliknij Produkt > Schemat > Edytuj schemat.
    2. W menu po lewej stronie wybierz Uruchom, a potem wybierz kartę Argumenty.
    3. W sekcji Argumenty przekazywane podczas uruchamiania dodaj -FIRDebugEnabled.
  3. Uruchom aplikację. Gdy pakiet SDK spróbuje wysłać żądanie do backendu, zostanie zarejestrowany lokalny token debugowania. Przykład:

    [Firebase/AppCheck][I-FAA001001] Firebase App Check Debug Token:
    123a4567-b89c-12d3-e456-789012345678
  4. W sekcji App Check konsoli Firebase kliknij Zarządzaj tokenami debugowania w menu aplikacji. Następnie zarejestruj token debugowania, który został zarejestrowany w poprzednim kroku.

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

Po zarejestrowaniu tokena usługi backendowe Firebase uznają go za prawidłowy.

Ponieważ ten token umożliwia dostęp do Twoich zasobów Firebase bez prawidłowego urządzenia, musisz zachować go w prywatności. Nie publikuj go w publicznych repozytoriach. Jeśli zarejestrowany token zostanie skompromitowany, natychmiast cofnij go w konsoli Firebase.

Korzystanie z dostawcy debugowania w środowisku CI

Aby korzystać z usługi debugowania w środowisku ciągłej integracji (CI), wykonaj te czynności:

  1. W sekcji App Check konsoli Firebase kliknij Zarządzaj tokenami debugowania w menu aplikacji. Następnie utwórz nowy token debugowania. Będzie on potrzebny w następnym kroku.

    Ponieważ ten token umożliwia dostęp do Twoich zasobów Firebase bez prawidłowego urządzenia, musisz zachować go w prywatności. Nie publikuj go w publicznych repozytoriach. Jeśli zarejestrowany token zostanie skompromitowany, natychmiast cofnij go w konsoli Firebase.

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

  2. Dodaj utworzony token debugowania do bezpiecznego magazynu kluczy systemu CI (na przykład zaszyfrowane sekrety GitHub Actions lub zaszyfrowane zmienne 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 FIRAAppCheckDebugToken i wartości takiej jak $(APP_CHECK_DEBUG_TOKEN).

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

    xcodebuild test -scheme YourTestScheme -workspace YourProject.xcworkspace \
    APP_CHECK_DEBUG_TOKEN=$(APP_CHECK_DEBUG_TOKEN_FROM_CI)
  6. W wersji debugowania, zanim zaczniesz używać usług backendu Firebase, utwórz i skonfiguruj fabrykę dostawców 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 backendowe Firebase uznają wysłany token za prawidłowy.