Вы можете защитить ресурсы вашего приложения, не относящиеся к Firebase, например локальные серверные части, с помощью проверки приложений. Для этого вам необходимо выполнить оба следующих действия:
- Измените клиент приложения так, чтобы он отправлял токен проверки приложения вместе с каждым запросом на серверную часть, как описано на этой странице.
- Измените свою серверную часть, чтобы при каждом запросе требовался действительный токен проверки приложений, как описано в разделе Проверка токенов проверки приложений из пользовательской серверной части .
Прежде чем начать
Добавьте проверку приложений в свое приложение, используя поставщиков по умолчанию .
Отправка токенов проверки приложений с помощью серверных запросов
Чтобы убедиться, что ваши серверные запросы содержат действительный токен проверки приложений с неистёкшим сроком действия, перед каждым запросом следует вызывать getToken()
. Библиотека проверки приложений при необходимости обновит токен.
Получив действительный токен, отправьте его вместе с запросом на свой сервер. Особенности того, как вы это сделаете, зависят от вас, но не отправляйте токены App Check как часть URL-адресов , в том числе в параметрах запроса, поскольку это делает их уязвимыми для случайной утечки и перехвата. Рекомендуемый подход — отправить токен в пользовательском заголовке HTTP.
Например:
void callApiExample() async {
final appCheckToken = await FirebaseAppCheck.instance.getToken();
if (appCheckToken != null) {
final response = await http.get(
Uri.parse("https://yourbackend.example.com/yourExampleEndpoint"),
headers: {"X-Firebase-AppCheck": appCheckToken},
);
} else {
// Error: couldn't get an App Check token.
}
}