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