Używanie Sprawdzania aplikacji przy pomocy dostawcy debugowania

Jeśli po zarejestrowaniu aplikacji w Sprawdzaniu aplikacji chcesz ją uruchomić w środowisku, którego Sprawdzanie aplikacji normalnie nie sklasyfikowało, np. w symulatorze w trakcie tworzenia, lub w środowisku ciągłej integracji (CI), możesz utworzyć kompilację do debugowania aplikacji, która korzysta z dostawcy debugowania funkcji Sprawdzanie aplikacji zamiast z App Attest.

Korzystanie z dostawcy debugowania w symulatorze

Aby korzystać z dostawcy debugowania podczas interaktywnego uruchamiania aplikacji w symulatorze (np. podczas programowania), wykonaj te czynności:

  1. Wyszukaj klucz interfejsu API iOS dla swojego projektu na stronie Dane logowania w sekcji Interfejsy API i usługi w konsoli Google Cloud.

  2. W kompilacji do debugowania skonfiguruj Sprawdzanie aplikacji, aby korzystało z dostawcy debugowania. Musisz określić klucz interfejsu API uzyskany w poprzednim kroku.

    #if targetEnvironment(simulator)
    GIDSignIn.sharedInstance.configureDebugProvider(withAPIKey: apiKey) { error in
      if let error {
        print("Error configuring `GIDSignIn` for App Check: \(error)")
      }
    }
    #else
    // Configure App Check for production.
    #endif
    
  3. Uruchom aplikację. Gdy pakiet SDK spróbuje wysłać żądanie do backendu, w konsoli Xcode zostanie zarejestrowany lokalny token debugowania. Na przykład:

    <Warning> [AppCheckCore][I-GAC004001] App Check debug token:
    '123a4567-b89c-12d3-e456-789012345678'.
    
  4. W sekcji Sprawdzanie aplikacji w konsoli Firebase wybierz w rozszerzonym menu aplikacji Zarządzaj tokenami debugowania. Następnie zarejestruj token debugowania zapisany w poprzednim kroku.

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

Gdy zarejestrujesz token, punkty końcowe protokołu Google OAuth 2.0 będą go akceptować jako prawidłowe w Twoim projekcie.

Ponieważ ten token umożliwia dostęp do punktów końcowych uwierzytelniania bez ważnego urządzenia, ważne jest zachowanie jego prywatności. Nie przekazuj go w repozytorium publicznym, a jeśli któryś z zarejestrowanych tokenów zostanie naruszony, unieważnij go natychmiast w konsoli Firebase.

Korzystanie z dostawcy debugowania w środowisku CI

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

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

    Ponieważ ten token umożliwia dostęp do punktów końcowych uwierzytelniania bez prawidłowego urządzenia, ważne jest, aby utrzymać jego prywatność. Nie przekazuj go w repozytorium publicznym, a jeśli któryś z zarejestrowanych tokenów zostanie naruszony, unieważnij go natychmiast w konsoli Firebase.

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

  2. Dodaj utworzony właśnie token debugowania do magazynu kluczy bezpiecznego systemu CI (np. zaszyfrowane obiekty tajne w działaniach GitHub lub zmienne zaszyfrowane w Travis CI).

  3. W razie potrzeby skonfiguruj system CI tak, aby token debugowania był dostępny w środowisku CI w postaci zmiennej środowiskowej. Nadaj tej zmiennej nazwę np. APP_CHECK_DEBUG_TOKEN_FROM_CI.

  4. W Xcode dodaj do schematu testowania zmienną środowiskową o nazwie FIRAAppCheckDebugToken i wartością na przykład $(APP_CHECK_DEBUG_TOKEN).

  5. Skonfiguruj skrypt testowy CI tak, aby przekazywał 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. Wyszukaj klucz interfejsu API iOS dla swojego projektu na stronie Dane logowania w sekcji Interfejsy API i usługi w konsoli Google Cloud.

  7. W kompilacji do debugowania skonfiguruj Sprawdzanie aplikacji, aby korzystało z dostawcy debugowania. Musisz określić klucz interfejsu API uzyskany w poprzednim kroku.

    #if targetEnvironment(simulator)
    GIDSignIn.sharedInstance.configureDebugProvider(withAPIKey: apiKey) { error in
      if let error {
        print("Error configuring `GIDSignIn` for App Check: \(error)")
      }
    }
    #else
    // Configure App Check for production.
    #endif
    

Gdy Twoja aplikacja działa w środowisku CI, punkty końcowe protokołu OAuth 2.0 Google będą akceptować token wysłany jako prawidłowy dla Twojego projektu.