Catch up on everthing we announced at this year's Firebase Summit. Learn more

從自定義後端驗證 App Check 令牌

您可以使用 App Check 保護應用的非 Firebase 資源,例如自託管後端。為此,您需要執行以下兩項操作:

  • 修改您的應用程序客戶端發送一個應用程序檢查令牌每個請求到後端一起,如在頁面上所描述的iOS +安卓網頁
  • 修改您的後端,以要求每個請求都提供有效的 App Check 令牌,如本頁所述。

在你開始之前

如果您尚未安裝了Node.js的管理SDK ,這樣做。

驗證令牌

要在後端驗證 App Check 令牌,請向 API 端點添加執行以下操作的邏輯:

  • 檢查每個請求是否包含 App Check 令牌。

  • 驗證應用程序檢查令牌使用管理SDK的appCheck().verifyToken()方法。

    如果驗證成功, verifyToken()返回解碼的應用程序檢查令牌。成功驗證表明令牌源自屬於您的 Firebase 項目的應用。

拒絕任何檢查失敗的請求。例如,使用 Express.js 中間件:

const express = require('express');
const app = express();

const firebaseAdmin = require('firebase-admin');
const firebaseApp = firebaseAdmin.initializeApp();

const appCheckVerification = async (req, res, next) => {
    const appCheckToken = req.header('X-Firebase-AppCheck');

    if (!appCheckToken) {
        res.status(401);
        return next('Unauthorized');
    }

    try {
        const appCheckClaims = await firebaseAdmin.appCheck().verifyToken(appCheckToken);

        // If verifyToken() succeeds, continue with the next middleware
        // function in the stack.
        return next();
    } catch (err) {
        res.status(401);
        return next('Unauthorized');
    }
}

app.get('/yourApiEndpoint', [appCheckVerification], (req, res) => {
    // Handle request.
});