ตรวจสอบโทเค็นตรวจสอบแอปจากแบ็กเอนด์ที่กำหนดเอง

คุณปกป้องทรัพยากรที่ไม่ใช่ Firebase ของแอปได้ เช่น แบ็กเอนด์ที่โฮสต์เองด้วย App Check ในการทำเช่นนั้น คุณจะต้องทำทั้งสองอย่างต่อไปนี้:

  • แก้ไขไคลเอ็นต์แอปของคุณเพื่อส่งโทเค็น App Check ไปพร้อมกับคำขอแต่ละรายการไปยังแบ็กเอนด์ของคุณ ตามที่อธิบายไว้ในหน้าสำหรับ iOS+ , Android และ เว็บ
  • แก้ไขแบ็กเอนด์ของคุณเพื่อกำหนดให้ใช้โทเค็นการตรวจสอบแอปที่ถูกต้องกับทุกคำขอ ตามที่อธิบายไว้ในหน้านี้

ก่อนจะเริ่ม

หากคุณยังไม่ได้ติดตั้ง Node.js Admin SDK ให้ดำเนินการดังกล่าว

ยืนยันโทเค็น

ในการตรวจสอบโทเค็น App Check บนแบ็กเอนด์ของคุณ ให้เพิ่มตรรกะให้กับปลายทาง API ของคุณที่ทำสิ่งต่อไปนี้:

  • ตรวจสอบว่าคำขอแต่ละรายการมีโทเค็นการตรวจสอบแอป

  • ตรวจสอบโทเค็นการตรวจสอบแอปโดยใช้ appCheck().verifyToken() ของ Admin SDK

    หากการตรวจสอบสำเร็จ 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.
});