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

ก่อนที่คุณจะเริ่มต้น

หากคุณยังไม่ได้ติดตั้ง Node.js Admin SDK ให้ติดตั้ง

ตรวจสอบโทเค็น

ในการยืนยันโทเค็น App Check บนแบ็กเอนด์ของคุณ ให้เพิ่มลอจิกไปยังตำแหน่งข้อมูล 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.
});