Используйте проверку приложений с поставщиком отладки на платформах 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. В консоли Firebase перейдите в раздел Безопасность > Проверка приложений .

  5. Зарегистрируйте отладочный токен, который вы только что ввели в лог.

    1. На вкладке «Приложения» найдите нужное вам приложение.
    2. В меню дополнительных элементов вашего приложения выберите «Управление отладочными токенами» .
    3. Следуйте инструкциям на экране, чтобы зарегистрировать свой отладочный токен.

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

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

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

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

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

  1. В консоли Firebase перейдите в раздел Безопасность > Проверка приложений .

  2. Создайте отладочный токен. Он понадобится вам на следующем шаге.

    1. На вкладке «Приложения» найдите нужное вам приложение.
    2. В меню дополнительных элементов вашего приложения выберите «Управление отладочными токенами» .
    3. Следуйте инструкциям на экране, чтобы создать новый отладочный токен.

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

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

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

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

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

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

    xcodebuild test -scheme YourTestScheme -workspace YourProject.xcworkspace \
    APP_CHECK_DEBUG_TOKEN=$(APP_CHECK_DEBUG_TOKEN_FROM_CI)
  7. В отладочной сборке, перед использованием каких-либо серверных служб 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 принимают отправленный токен как действительный.