Вы можете использовать App Check для защиты не-Google пользовательских бэкенд-ресурсов для вашего приложения, например, вашего собственного бэкенда. Для этого вам нужно будет выполнить оба следующих действия:
- Измените клиентское приложение так, чтобы оно отправляло токен проверки приложения вместе с каждым запросом на ваш бэкэнд, как описано на этой странице.
- Измените свой бэкэнд так, чтобы он требовал действительный токен проверки приложения при каждом запросе, как описано в разделе Проверка токенов проверки приложения с помощью пользовательского бэкэнда .
Прежде чем начать
Добавьте проверку приложений в свое приложение, используя поставщиков по умолчанию .
Отправка токенов проверки приложений с бэкэнд-запросами
Чтобы убедиться, что ваши внутренние запросы включают действительный, неистекший токен 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.
}
}
}