Используйте проверку приложений с поставщиком отладки на платформах 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 (v11.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 выберите Manage debug tokens из меню переполнения вашего приложения. Затем зарегистрируйте отладочный токен, который вы зарегистрировали на предыдущем шаге.

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

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

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

Используйте поставщик отладки в среде CI

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

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

    Поскольку этот токен позволяет получить доступ к вашим ресурсам 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 будут принимать отправленный им токен как действительный.