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