Join us for Firebase Summit on November 10, 2021. Tune in to learn how Firebase can help you accelerate app development, release with confidence, and scale with ease. Register

একটি কাস্টম অ্যাপ চেক সরবরাহকারী কার্যকর করুন

অ্যাপ চেক বিভিন্ন প্রদানকারীর জন্য বিল্ট-ইন করেছেন সহায়তা: DeviceCheck এবং অ্যাপ প্রত্যায়ন iOS এ, SafetyNet Android এর উপর, অথবা ওয়েব অ্যাপ্লিকেশনে আরো তথ্যের v3 এর ( ওভারভিউ )। এগুলি ভালভাবে বোঝা যায় এমন সরবরাহকারী যা বেশিরভাগ ডেভেলপারদের চাহিদা পূরণ করে। তবে, আপনি আপনার নিজস্ব কাস্টম অ্যাপ চেক প্রদানকারীদেরও বাস্তবায়ন করতে পারেন। একটি কাস্টম প্রদানকারী ব্যবহার করা প্রয়োজন যখন:

  • আপনি iOS এ DeviceCheck বা App Attest, Android- এ SafetyNet, অথবা reCAPTCHA ছাড়া অন্য কোনো প্রদানকারী ব্যবহার করতে চান।

  • আপনি iOS, অ্যান্ড্রয়েড এবং ওয়েব ছাড়া অন্য প্ল্যাটফর্ম ব্যবহার করে ডিভাইসগুলি যাচাই করতে চান। উদাহরণস্বরূপ, আপনি ডেস্কটপ ওএস বা ইন্টারনেট-অফ-থিংস ডিভাইসের জন্য অ্যাপ চেক প্রদানকারী তৈরি করতে পারেন।

  • আপনি যেকোনো প্ল্যাটফর্মে আপনার নিজের যাচাইকরণ কৌশল প্রয়োগ করতে চান।

ওভারভিউ

একটি কাস্টম অ্যাপ্লিকেশন চেক প্রদানকারী বাস্তবায়ন করার জন্য, আপনাকে একটি নিরাপদ ব্যাকএন্ড পরিবেশের Node.js চালাতে পারেন প্রয়োজন Firebase এডমিন SDK এর । এই মেঘ কার্যাবলী যেমন একটি ধারক প্ল্যাটফর্ম হতে পারে ক্লাউড চালান , অথবা আপনার নিজের সার্ভার।

এই পরিবেশ থেকে, আপনি একটি নেটওয়ার্ক-অ্যাক্সেসযোগ্য পরিষেবা প্রদান করবেন যা আপনার অ্যাপ ক্লায়েন্টদের থেকে সত্যতার প্রমাণ পায় এবং authe যদি সত্যতার প্রমাণ আপনার সত্যতা মূল্যায়ন পাস করে an একটি অ্যাপ চেক টোকেন প্রদান করে। আপনি যে নির্দিষ্ট সূচকগুলি সত্যতার প্রমাণ হিসাবে ব্যবহার করেন তা নির্ভর করবে আপনি যে তৃতীয় পক্ষের প্রদানকারী ব্যবহার করছেন, অথবা আপনার নিজস্ব আবিষ্কারের সূচকগুলির উপর, যদি আপনি কাস্টম যুক্তি প্রয়োগ করছেন।

সাধারণত, আপনি এই পরিষেবাটি একটি REST বা gRPC এন্ডপয়েন্ট হিসাবে প্রকাশ করেন, কিন্তু এই বিশদটি আপনার উপর নির্ভর করে।

টোকেন অধিগ্রহণ শেষ বিন্দু তৈরি করুন

  1. ইনস্টল করুন এবং এডমিন SDK এর আরম্ভ

  2. একটি নেটওয়ার্ক-অ্যাক্সেসযোগ্য এন্ডপয়েন্ট তৈরি করুন যা আপনার ক্লায়েন্টদের কাছ থেকে সত্যতা ডেটা গ্রহণ করতে পারে। উদাহরণস্বরূপ, ক্লাউড ফাংশন ব্যবহার করে:

    // Create endpoint at https://example-app.cloudfunctions.net/fetchAppCheckToken
    exports.fetchAppCheckToken = functions.https.onCall((authenticityData, context) => {
      // ...
    });
    
  3. এন্ডপয়েন্ট লজিক যুক্ত করুন যা সত্যতা ডেটা মূল্যায়ন করে। এটি আপনার কাস্টম অ্যাপ চেক প্রদানকারীর মূল যুক্তি, যা আপনাকে নিজেই লিখতে হবে।

  4. আপনি যদি ক্লায়েন্টকে খাঁটি বলে নির্ধারণ করেন, তাহলে একটি অ্যাপ চেক টোকেন মিন্ট করতে অ্যাডমিন এসডিকে ব্যবহার করুন এবং ক্লায়েন্টকে এটি এবং তার মেয়াদ শেষ হওয়ার সময় ফেরত দিন:

    const admin = require('firebase-admin');
    admin.initializeApp();
    
    // ...
    
    admin.appCheck().createToken(appId)
        .then(function (appCheckToken) {
          // Token expires in an hour.
          const expiresAt = Math.floor(Date.now() / 1000) + 60 * 60;
    
          // Return appCheckToken and expiresAt to the client.
        })
       .catch(function (err) {
         console.error('Unable to create App Check token.');
         console.error(err);
       });
    

    যদি আপনি ক্লায়েন্টের সত্যতা যাচাই করতে না পারেন, একটি ত্রুটি ফেরত দিন (উদাহরণস্বরূপ, একটি HTTP 403 ত্রুটি ফেরত দিন)।

  5. ঐচ্ছিক: সময় সেট করুন টু লাইভ নামক ক্ষণস্থায়ী দ্বারা আপনার কাস্টম প্রদানকারী কর্তৃক প্রদত্ত অ্যাপ চেক টোকেন জন্য (TTL এর) AppCheckTokenOptions আপত্তি createToken() । আপনি 30 মিনিট থেকে 7 দিনের মধ্যে যে কোন মান TTL সেট করতে পারেন। এই মান নির্ধারণ করার সময়, নিম্নলিখিত ট্রেডঅফগুলি সম্পর্কে সচেতন থাকুন:

    • নিরাপত্তা: ছোট টিটিএলগুলি শক্তিশালী নিরাপত্তা প্রদান করে, কারণ এটি সেই জানালাটিকে হ্রাস করে যেখানে একটি হামলাকারী একটি ফাঁস বা আটকানো টোকেনকে অপব্যবহার করতে পারে।
    • কর্মক্ষমতা: ছোট টিটিএল মানে আপনার অ্যাপ আরো ঘন ঘন সত্যায়ন করবে। যেহেতু অ্যাপ্লিকেশন সত্যায়নের প্রক্রিয়াটি নেটওয়ার্কের অনুরোধের প্রতি বিলম্ব যোগ করে যতবার এটি সম্পাদিত হয়, একটি সংক্ষিপ্ত টিটিএল আপনার অ্যাপের কর্মক্ষমতাকে প্রভাবিত করতে পারে।

    বেশিরভাগ অ্যাপের জন্য 1 ঘন্টার ডিফল্ট টিটিএল যুক্তিসঙ্গত।

পরবর্তী পদক্ষেপ

এখন যেহেতু আপনি আপনার কাস্টম প্রদানকারীর সার্ভার সাইড যুক্তিবিজ্ঞান বাস্তবায়িত করেছি, কীভাবে আপনার থেকে এটি ব্যবহার করতে আইওএস , অ্যান্ড্রয়েড , এবং ওয়েব ক্লায়েন্ট।