تحقق من App Check tokens من خلفية مخصصة

يمكنك حماية موارد تطبيقك بخلاف Firebase ، مثل الخلفيات المستضافة ذاتيًا ، باستخدام App Check. للقيام بذلك ، سوف تحتاج إلى القيام بالأمرين التاليين:

  • قم بتعديل عميل التطبيق الخاص بك لإرسال رمز التحقق من التطبيق جنبًا إلى جنب مع كل طلب إلى الواجهة الخلفية ، كما هو موضح في صفحات iOS + و Android والويب .
  • قم بتعديل الواجهة الخلفية الخاصة بك للمطالبة برمز مميز صالح للتحقق من التطبيق مع كل طلب ، كما هو موضح في هذه الصفحة.

قبل ان تبدأ

إذا لم تكن قد قمت بالفعل بتثبيت Node.js Admin SDK ، فقم بذلك.

تحقق من الرموز

للتحقق من الرموز المميزة للتحقق من التطبيق على الواجهة الخلفية ، أضف منطقًا إلى نقاط نهاية واجهة برمجة التطبيقات التي تقوم بما يلي:

  • تحقق من أن كل طلب يتضمن رمز التحقق من التطبيق.

  • تحقق من رمز التحقق من التطبيق باستخدام appCheck () Admin SDK's appCheck().verifyToken() .

    إذا نجح التحقق ، فإن التحقق 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.
});