Защитите пользовательские серверные ресурсы с помощью проверки приложений в проектах C++.

Вы можете использовать App Check для защиты сторонних бэкенд-ресурсов вашего приложения, например, вашего собственного бэкенда, размещенного на вашем сервере. Для этого вам необходимо выполнить два следующих действия:

  • Измените клиентское приложение так, чтобы оно отправляло токен проверки приложения вместе с каждым запросом на ваш бэкэнд, как описано на этой странице.
  • Измените свой бэкэнд так, чтобы он требовал действительный токен App Check при каждом запросе, как описано в разделе Проверка токенов App Check из пользовательского бэкэнда .

Прежде чем начать

Добавьте проверку приложений в свое приложение, используя поставщиков по умолчанию .

Отправлять токены проверки приложений с внутренними запросами

Чтобы убедиться, что ваши внутренние запросы включают действительный, неистекший токен App Check, перед каждым запросом вызывайте AppCheck::GetAppCheckToken() . Библиотека App Check обновит токен при необходимости.

Получив действительный токен, отправьте его вместе с запросом в бэкенд. Вы можете выбрать, как это сделать, но не отправляйте токены App Check в составе URL-адресов , в том числе в параметрах запроса, так как это делает их уязвимыми для случайной утечки и перехвата. Рекомендуемый подход — отправлять токен в настраиваемом HTTP-заголовке.

Например:

void CallApiExample() {
    firebase_app_check::AppCheck* app_check = firebase::app_check::AppCheck::GetInstance();
    Future<std::string> app_check_future = app_check->GetAppCheckToken(false);
    app_check_future.OnCompletion([&](const Future<std::string>& future_token) {
        if (future_token.result()) {
            // Got a valid App Check token. Include it in your own http calls.
        }
    }
}