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

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

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

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

ก่อนจะเริ่ม

หากคุณไม่ได้ติดตั้งแล้ว Node.js SDK ผู้ดูแลระบบ ทำเช่นนั้น

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

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

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

  • ตรวจสอบการตรวจสอบ App โทเค็นการใช้ SDK ผู้ดูแลระบบของ appCheck().verifyToken() วิธีการ

    หากการตรวจสอบสำเร็จ verifyToken() ส่งกลับถอดรหัส App ตรวจสอบโทเค็น การยืนยันที่สำเร็จบ่งชี้ว่าโทเค็นนั้นมาจากแอปที่เป็นของโปรเจ็กต์ 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.
});