Как начать использовать 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 выберите Security (Безопасность) > App Check (Проверка приложений).

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

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

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

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

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

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

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 обычно не классифицирует как действительную, например в симуляторе во время разработки или в среде непрерывной интеграции, вы можете создать отладочную сборку приложения, которая использует отладочный поставщик App Check вместо реального поставщика аттестации.

Подробнее о том, как использовать App Check с отладочным поставщиком на платформах Apple…