Вы можете использовать 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.
}
}
}