आप ऐप चेक के साथ अपने ऐप के गैर-फायरबेस संसाधनों, जैसे स्वयं-होस्टेड बैकएंड की रक्षा कर सकते हैं। ऐसा करने के लिए, आपको निम्नलिखित दोनों कार्य करने होंगे:
- अपने बैकएंड को प्रत्येक अनुरोध के साथ एक ऐप चेक टोकन भेजने के लिए अपने ऐप क्लाइंट को संशोधित करें, जैसा कि iOS+ , Android और वेब के लिए पृष्ठों पर वर्णित है।
- इस पृष्ठ पर वर्णित अनुसार प्रत्येक अनुरोध के साथ एक वैध ऐप चेक टोकन की आवश्यकता के लिए अपने बैकएंड को संशोधित करें।
शुरू करने से पहले
यदि आपने Node.js Admin SDK पहले से स्थापित नहीं किया है, तो ऐसा करें।
टोकन सत्यापित करें
अपने बैकएंड पर ऐप चेक टोकन को सत्यापित करने के लिए, अपने एपीआई एंडपॉइंट्स में तर्क जोड़ें जो निम्न कार्य करता है:
जांचें कि प्रत्येक अनुरोध में ऐप चेक टोकन शामिल है।
व्यवस्थापक SDK की
appCheck().verifyToken()
विधि का उपयोग करके ऐप चेक टोकन सत्यापित करें।यदि सत्यापन सफल होता है, तो सत्यापित
verifyToken()
डिकोड किए गए ऐप चेक टोकन को वापस कर देता है। सफल सत्यापन इंगित करता है कि टोकन आपके फायरबेस प्रोजेक्ट से संबंधित ऐप से उत्पन्न हुआ है।
किसी भी अनुरोध को अस्वीकार करें जो किसी भी जांच में विफल रहता है। उदाहरण के लिए, 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.
});