Используйте проверку приложений с поставщиком отладки на платформах Apple.

Если после регистрации вашего приложения в App Check вы хотите запустить его в среде, которую App Check обычно не классифицирует как допустимую, например, в симуляторе или на устройстве во время разработки, или в среде непрерывной интеграции (CI), вы можете создать отладочную сборку вашего приложения, которая использует отладочный поставщик App Check вместо реального поставщика аттестации.

Используйте отладчик в режиме разработки.

Чтобы использовать отладочный модуль при интерактивном запуске приложения (например, во время разработки), выполните следующие действия:

  1. В отладочной сборке, перед использованием каких-либо серверных служб Firebase, создайте и настройте фабрику отладочного поставщика App Check :

    Быстрый

    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. Включите отладочное логирование в вашем проекте Xcode (версия 11.0 или новее):

    1. Откройте Продукт > Схема > Редактировать схему .
    2. В левом меню выберите пункт «Выполнить» , затем перейдите на вкладку «Аргументы» .
    3. В разделе «Аргументы, передаваемые при запуске» добавьте -FIRDebugEnabled .
  3. Запустите приложение. При попытке SDK отправить запрос на бэкэнд будет записан локальный отладочный токен. Например:

    [Firebase/AppCheck][I-FAA001001] Firebase App Check Debug Token:
    123a4567-b89c-12d3-e456-789012345678
  4. В разделе App Check консоли Firebase выберите «Управление отладочными токенами» в контекстном меню вашего приложения. Затем зарегистрируйте отладочный токен, который вы использовали на предыдущем шаге.

    Скриншот пункта меню «Управление отладочными токенами».

После регистрации токена серверные службы Firebase будут считать его действительным.

Поскольку этот токен позволяет получить доступ к вашим ресурсам Firebase без действительного устройства, крайне важно хранить его в секрете. Не добавляйте его в общедоступный репозиторий, и если зарегистрированный токен будет скомпрометирован, немедленно отзовите его в консоли Firebase .

Используйте отладочный провайдер в среде непрерывной интеграции (CI).

Для использования поставщика отладки в среде непрерывной интеграции (CI) выполните следующие действия:

  1. В разделе App Check консоли Firebase выберите «Управление отладочными токенами» в контекстном меню вашего приложения. Затем создайте новый отладочный токен. Он понадобится вам на следующем шаге.

    Поскольку этот токен позволяет получить доступ к вашим ресурсам Firebase без действительного устройства, крайне важно хранить его в секрете. Не добавляйте его в общедоступный репозиторий, и если зарегистрированный токен будет скомпрометирован, немедленно отзовите его в консоли Firebase .

    Скриншот пункта меню «Управление отладочными токенами».

  2. Добавьте созданный вами отладочный токен в защищенное хранилище ключей вашей системы CI (например, в зашифрованные секреты GitHub Actions или зашифрованные переменные Travis CI).

  3. При необходимости настройте вашу систему CI так, чтобы ваш отладочный токен был доступен в среде CI в качестве переменной среды. Назовите переменную, например, APP_CHECK_DEBUG_TOKEN_FROM_CI .

  4. В Xcode добавьте в свою схему тестирования переменную окружения с именем FIRAAppCheckDebugToken и значением, например, $(APP_CHECK_DEBUG_TOKEN) .

  5. Настройте свой скрипт CI-тестирования так, чтобы он передавал отладочный токен в качестве переменной окружения. Например:

    xcodebuild test -scheme YourTestScheme -workspace YourProject.xcworkspace \
    APP_CHECK_DEBUG_TOKEN=$(APP_CHECK_DEBUG_TOKEN_FROM_CI)
  6. В отладочной сборке, перед использованием каких-либо серверных служб Firebase, создайте и настройте фабрику отладочного поставщика App Check :

    Быстрый

    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];

Когда ваше приложение работает в среде CI, бэкэнд-сервисы Firebase принимают отправленный токен как действительный.