Catch up on everything announced at Firebase Summit, and learn how Firebase can help you accelerate app development and run your app with confidence. Learn More

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

จัดทุกอย่างให้เป็นระเบียบอยู่เสมอด้วยคอลเล็กชัน บันทึกและจัดหมวดหมู่เนื้อหาตามค่ากำหนดของคุณ

คุณปกป้องทรัพยากรที่ไม่ใช่ 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.
});