Как начать использовать App Check с DeviceCheck на платформах Apple

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

Если вы хотите использовать App Check с собственным поставщиком, ознакомьтесь со статьей Как реализовать собственного поставщика App Check.

1. Как настроить проект Firebase

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

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

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

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

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

  5. Необязательно. Установите время жизни токена (TTL).

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

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

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

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

  1. Для установки зависимостей Firebase и управления ими используйте Swift Package Manager.

    Откройте проект приложения в Xcode и перейдите в меню File (Файл) > Add Packages (Добавить пакеты), добавьте хранилище Firebase SDK для платформ Apple (https://github.com/firebase/firebase-ios-sdk) и выберите библиотеку FirebaseAppCheck.

Дальнейшие действия

После установки библиотеки 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…