Firebase is back at Google I/O on May 10! Register now

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

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

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