אמת את אסימוני בדיקת האפליקציה מקצה אחורי מותאם אישית

אתה יכול להגן על המשאבים של האפליקציה שלך שאינם Firebase, כגון קצה עורפי שמתארח בעצמך, באמצעות App Check. כדי לעשות זאת, תצטרך לבצע את שתי הפעולות הבאות:

  • שנה את לקוח האפליקציה שלך כדי לשלוח אסימון App Check יחד עם כל בקשה לקצה העורפי שלך, כפי שמתואר בדפים עבור iOS+ , Android ואינטרנט .
  • שנה את הקצה העורפי שלך כדי לדרוש אסימון App Check תקף עם כל בקשה, כמתואר בדף זה.

לפני שאתה מתחיל

אם עדיין לא התקנת את Node.js Admin SDK , עשה זאת.

אמת אסימונים

כדי לאמת אסימוני בדיקת אפליקציות בקצה העורפי שלך, הוסף היגיון לנקודות הקצה של ה-API שלך שעושה את הפעולות הבאות:

  • בדוק שכל בקשה כוללת אסימון App Check.

  • אמת את אסימון App Check באמצעות שיטת appCheck().verifyToken() של Admin SDK.

    אם האימות מצליח, 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.
});