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

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

Использование поставщика отладки при разработке

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

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

    Быстрый

    let providerFactory = AppCheckDebugProviderFactory()
    AppCheck.setAppCheckProviderFactory(providerFactory)
    
    FirebaseApp.configure()

    Цель-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()

    Цель-C

    FIRAppCheckDebugProviderFactory *providerFactory =
          [[FIRAppCheckDebugProviderFactory alloc] init];
    [FIRAppCheck setAppCheckProviderFactory:providerFactory];
    
    // Use Firebase library to configure APIs
    [FIRApp configure];

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