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

একটি কাস্টম ব্যাকএন্ড থেকে অ্যাপ চেক টোকেন যাচাই করুন

সেভ করা পৃষ্ঠা গুছিয়ে রাখতে 'সংগ্রহ' ব্যবহার করুন আপনার পছন্দ অনুযায়ী কন্টেন্ট সেভ করুন ও সঠিক বিভাগে রাখুন।

আপনি অ্যাপ চেকের মাধ্যমে আপনার অ্যাপের নন-ফায়ারবেস সংস্থানগুলি যেমন স্ব-হোস্টেড ব্যাকএন্ডগুলি রক্ষা করতে পারেন৷ এটি করার জন্য, আপনাকে নিম্নলিখিত উভয়টি করতে হবে:

  • আপনার ব্যাকএন্ডে প্রতিটি অনুরোধের সাথে একটি অ্যাপ চেক টোকেন পাঠাতে আপনার অ্যাপ ক্লায়েন্টকে পরিবর্তন করুন, যেমনটি iOS+ , Android এবং ওয়েবের পৃষ্ঠাগুলিতে বর্ণিত হয়েছে।
  • এই পৃষ্ঠায় বর্ণিত প্রতিটি অনুরোধের সাথে একটি বৈধ অ্যাপ চেক টোকেনের প্রয়োজনে আপনার ব্যাকএন্ড পরিবর্তন করুন।

তুমি শুরু করার আগে

আপনি যদি ইতিমধ্যে Node.js অ্যাডমিন SDK ইনস্টল না করে থাকেন তবে তা করুন৷

টোকেন যাচাই করুন

আপনার ব্যাকএন্ডে অ্যাপ চেক টোকেন যাচাই করতে, আপনার API এন্ডপয়েন্টগুলিতে যুক্তি যোগ করুন যা নিম্নলিখিতগুলি করে:

  • প্রতিটি অনুরোধে একটি অ্যাপ চেক টোকেন অন্তর্ভুক্ত রয়েছে তা পরীক্ষা করুন।

  • অ্যাডমিন 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.
});