Когда вы поймете, как проверка приложений повлияет на ваших пользователей , и будете готовы продолжить, вы можете включить принудительную проверку приложений.
Чтобы начать применять требования к токену проверки приложений в вызываемых облачных функциях, измените свои функции, чтобы они проверяли действительные токены проверки приложений, как показано ниже. После включения принудительного применения все неподтвержденные запросы будут отклонены.
Обновите зависимость
firebase-functions
вашего проекта до версии 4.0.0 или новее:npm install firebase-functions@">=4.0.0"
И обновите зависимость
firebase-admin
вашего проекта до версии 9.8.0 или новее:npm install firebase-admin@">=9.8.0"
Задайте для параметра времени выполнения
enforceAppCheck
для вашей функции значениеtrue
:exports.yourCallableFunction = functions. .runWith({ enforceAppCheck: true // Requests without valid App Check tokens will be rejected. }) .https.onCall((data, context) => { // Your function logic follows. });
Добавьте проверку для
context.app
в вашу функцию. Ваша функция должна завершиться ошибкой, еслиcontext.app
не определен.exports.yourCallableFunction = functions.https.onCall((data, context) => { // context.app will be undefined if the request doesn't include an // App Check token. (If the request includes an invalid App Check // token, the request will be rejected with HTTP error 401.) if (context.app == undefined) { throw new functions.https.HttpsError( 'failed-precondition', 'The function must be called from an App Check verified app.') } // Your function logic follows. });
Перераспределите свои функции:
firebase deploy --only functions
После развертывания этих изменений вашим вызываемым облачным функциям потребуются действительные токены проверки приложений. Клиентские SDK Cloud Functions автоматически прикрепляют токен проверки приложений при вызове вызываемой функции.