Начните использовать проверку приложений с помощью DeviceCheck на платформах Apple.

На этой странице показано, как включить App Check в приложении Apple, используя встроенный поставщик DeviceCheck. Включив App Check , вы гарантируете, что только ваше приложение сможет получить доступ к ресурсам Firebase вашего проекта. См. обзор этой функции.

Если вы хотите использовать App Check со своим собственным поставщиком, см. раздел «Реализация пользовательского поставщика App Check .

1. Настройте свой проект Firebase

  1. Добавьте Firebase в свой проект Apple, если вы еще этого не сделали.

  2. На сайте разработчика Apple создайте закрытый ключ DeviceCheck .

  3. Зарегистрируйте свои приложения, чтобы использовать App Check у поставщика DeviceCheck в разделе App Check консоли Firebase . Вам нужно будет предоставить закрытый ключ, который вы создали на предыдущем шаге.

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

  4. Необязательно : в настройках регистрации приложения установите собственное время жизни (TTL) для токенов App Check , выданных поставщиком. Вы можете установить любое значение TTL от 30 минут до 7 дней. При изменении этого значения помните о следующих компромиссах:

    • Безопасность. Более короткие TTL обеспечивают более высокий уровень безопасности, поскольку уменьшают время, в течение которого злоумышленник может использовать утекший или перехваченный токен.
    • Производительность. Более короткие TTL означают, что ваше приложение будет чаще выполнять аттестацию. Поскольку процесс аттестации приложения увеличивает задержку к сетевым запросам каждый раз, когда он выполняется, короткий срок жизни может повлиять на производительность вашего приложения.
    • Квота и стоимость. Более короткие сроки жизни и частая повторная аттестация быстрее истощают вашу квоту, а платные услуги могут стоить дороже. См. Квоты и ограничения .

    Значение TTL по умолчанию, равное 1 часу, подходит для большинства приложений. Обратите внимание, что библиотека App Check обновляет токены примерно за половину продолжительности TTL.

2. Добавьте библиотеку App Check в свое приложение.

  1. Добавьте зависимость для App Check в Podfile вашего проекта:

    pod 'FirebaseAppCheck'

    Или, альтернативно, вместо этого вы можете использовать Swift Package Manager .

    Убедитесь, что вы также используете последнюю версию всех клиентских библиотек службы Firebase, от которых вы зависите.

  2. Запустите pod install и откройте созданный файл .xcworkspace .

Следующие шаги

После установки библиотеки App Check в ваше приложение начните распространять обновленное приложение среди своих пользователей.

Обновленное клиентское приложение начнет отправлять токены App Check вместе с каждым запросом к Firebase, но продукты Firebase не будут требовать, чтобы токены были действительными, пока вы не включите принудительное применение в разделе App Check консоли Firebase.

Отслеживайте показатели и обеспечивайте принудительное соблюдение

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

Чтобы принять это решение, вы можете просмотреть показатели App Check для используемых вами сервисов:

Включить принудительное выполнение App Check

Когда вы поймете, как App Check повлияет на ваших пользователей, и будете готовы продолжить, вы сможете включить принудительное выполнение App Check :

Используйте App Check в средах отладки

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

См. раздел «Использование App Check с поставщиком отладки на платформах Apple» .