您可以使用 App Check 保護應用的非 Firebase 資源,例如自託管後端。為此,您需要執行以下兩項操作:
- 修改您的應用程序客戶端以將 App Check 令牌連同每個請求一起發送到您的後端,如iOS+ 、 Android和web頁面中所述。
- 如本頁所述,修改您的後端以在每次請求時都需要有效的 App Check 令牌。
在你開始之前
如果您尚未安裝Node.js Admin SDK ,請安裝。
驗證令牌
要在後端驗證 App Check 令牌,請將邏輯添加到執行以下操作的 API 端點:
檢查每個請求是否包含 App Check 令牌。
使用 Admin SDK 的
appCheck().verifyToken()
方法驗證 App Check 令牌。如果驗證成功,
verifyToken()
返回解碼後的 App Check 令牌。成功驗證表明令牌來自屬於您的 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.
});