Firebase is back at Google I/O on May 10! Register now

Включить проверку приложений для облачных функций

Оптимизируйте свои подборки Сохраняйте и классифицируйте контент в соответствии со своими настройками.

Когда вы поймете, как проверка приложений повлияет на ваших пользователей , и будете готовы продолжить, вы можете включить принудительную проверку приложений.

Чтобы начать применять требования к токену проверки приложений в вызываемых облачных функциях, измените свои функции, чтобы они проверяли действительные токены проверки приложений, как показано ниже. После включения принудительного применения все неподтвержденные запросы будут отклонены.

  1. Обновите зависимость firebase-functions вашего проекта до версии 4.0.0 или новее:

    npm install firebase-functions@">=4.0.0"
    

    И обновите зависимость firebase-admin вашего проекта до версии 9.8.0 или новее:

    npm install firebase-admin@">=9.8.0"
    
  2. Задайте для параметра времени выполнения 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.
      });
    
  3. Добавьте проверку для 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.
    });
    
  4. Перераспределите свои функции:

    firebase deploy --only functions
    

После развертывания этих изменений вашим вызываемым облачным функциям потребуются действительные токены проверки приложений. Клиентские SDK Cloud Functions автоматически прикрепляют токен проверки приложений при вызове вызываемой функции.