Korzystaj z App Check u dostawcy debugowania na platformach Apple

Jeśli po zarejestrowaniu aplikacji do kontroli aplikacji chcesz uruchomić ją w środowisku, którego kontrola aplikacji normalnie nie sklasyfikowałaby jako ważne, na przykład na symulatorze podczas opracowywania lub w środowisku ciągłej integracji (CI), możesz utwórz kompilację debugowania swojej aplikacji, która korzysta z dostawcy debugowania sprawdzania aplikacji zamiast prawdziwego dostawcy zaświadczeń.

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 do debugowania przed użyciem jakichkolwiek usług zaplecza Firebase utwórz i ustaw fabrykę dostawcy debugowania sprawdzania aplikacji:

    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 swoim projekcie Xcode (wersja 11.0 lub nowsza):

    1. Otwórz Produkt > Schemat > Edytuj schemat .
    2. Wybierz opcję Uruchom z menu po lewej stronie, a następnie wybierz kartę Argumenty .
    3. W sekcji argumenty przekazane podczas uruchamiania dodaj opcję -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 Zarządzaj tokenami debugowania z przepełnionego menu aplikacji. Następnie zarejestruj token debugowania, który zarejestrowałeś 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ć go jako prywatny. Nie przesyłaj go do publicznego repozytorium, a jeśli zarejestrowany token zostanie kiedykolwiek naruszony, natychmiast odwołaj go 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 Zarządzaj tokenami debugowania z przepełnionego menu aplikacji. Następnie utwórz nowy token debugowania. W następnym kroku będziesz potrzebować tokena.

    Ponieważ ten token umożliwia dostęp do zasobów Firebase bez ważnego urządzenia, ważne jest, aby zachować go jako prywatny. Nie przesyłaj go do publicznego repozytorium, a jeśli zarejestrowany token zostanie kiedykolwiek naruszony, natychmiast odwołaj go 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 zaszyfrowane klucze GitHub Actions lub zaszyfrowane zmienne Travis CI).

  3. W razie potrzeby skonfiguruj swój system CI, aby token debugowania był dostępny w środowisku CI jako zmienna środowiskowa. Nazwij zmienną na przykład APP_CHECK_DEBUG_TOKEN_FROM_CI .

  4. W Xcode dodaj zmienną środowiskową do swojego schematu testowania z nazwą FIRAAppCheckDebugToken i czymś w rodzaju $(APP_CHECK_DEBUG_TOKEN) jako wartością.

  5. Skonfiguruj skrypt testowy CI, aby przekazać 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 do debugowania przed użyciem jakichkolwiek usług zaplecza Firebase utwórz i ustaw fabrykę dostawcy debugowania sprawdzania aplikacji:

    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 zaakceptują wysłany token jako ważny.