Firebase Summit で発表されたすべての情報をご覧ください。Firebase を使用してアプリ開発を加速し、自信を持ってアプリを実行する方法を紹介しています。詳細

CloudFunctionsのアプリチェックの実施を有効にする

コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。

App Check がユーザーに与える影響を理解し、続行する準備ができたら、App Check の適用を有効にできます。

呼び出し可能な Cloud Functions で App Check トークン要件の適用を開始するには、以下に示すように、有効な App Check トークンを確認するように関数を変更します。強制を有効にすると、未確認のリクエストはすべて拒否されます。

  1. プロジェクトのfirebase-functions依存関係をバージョン 4.0.0 以降に更新します。

    npm install firebase-functions@">=4.0.0"
    

    そして、プロジェクトの firebase 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
    

これらの変更がデプロイされると、呼び出し可能な Cloud Functions に有効な App Check トークンが必要になります。 Cloud Functions クライアント SDK は、呼び出し可能な関数を呼び出すと、App Check トークンを自動的にアタッチします。