Google Identity Toolkit থেকে Firebase প্রমাণীকরণে স্থানান্তর করুন

Google আইডেন্টিটি টুলকিটের নতুন সংস্করণ ফায়ারবেস প্রমাণীকরণ হিসাবে প্রকাশিত হয়েছে। সামনের দিকে, আইডেন্টিটি টুলকিটে বৈশিষ্ট্যের কাজ হিমায়িত করা হবে এবং ফায়ারবেস প্রমাণীকরণে সমস্ত নতুন বৈশিষ্ট্য বিকাশ করা হবে। আমরা আইডেন্টিটি টুলকিট ডেভেলপারদের তাদের অ্যাপ্লিকেশনের জন্য ব্যবহারিক হওয়ার সাথে সাথে Firebase প্রমাণীকরণে যেতে উৎসাহিত করি; যাইহোক, আইডেন্টিটি টুলকিট কাজ চালিয়ে যাচ্ছে এবং পরবর্তী ঘোষণা ছাড়া এটিকে অবমূল্যায়ন করা হবে না।

নতুন বৈশিষ্ট

ফায়ারবেস প্রমাণীকরণে ইতিমধ্যেই গুগল আইডেন্টিটি টুলকিটের কিছু উল্লেখযোগ্য বৈশিষ্ট্য বর্ধন রয়েছে:

  • সমস্ত Firebase-এ অ্যাক্সেস

    Firebase হল একটি মোবাইল প্ল্যাটফর্ম যা আপনাকে দ্রুত উচ্চ-মানের অ্যাপ তৈরি করতে, আপনার ব্যবহারকারীর ভিত্তি বাড়াতে এবং আরও অর্থ উপার্জন করতে সাহায্য করে। Firebase পরিপূরক বৈশিষ্ট্যগুলির সমন্বয়ে গঠিত যা আপনি আপনার প্রয়োজনের সাথে মানানসই করতে পারেন এবং এর পরিকাঠামো অন্তর্ভুক্ত করে: মোবাইল অ্যানালিটিক্স , ক্লাউড মেসেজিং , রিয়েলটাইম ডাটাবেস , ফাইল স্টোরেজ , স্ট্যাটিক হোস্টিং , রিমোট কনফিগারেশন , মোবাইল ক্র্যাশ রিপোর্টিং এবং অ্যান্ড্রয়েড টেস্টিং

  • আপডেট করা UI

    আমরা Google এর সর্বশেষ UX গবেষণার উপর ভিত্তি করে UI ফ্লো সম্পূর্ণরূপে পুনর্নির্মাণ করেছি। এর মধ্যে রয়েছে পাসওয়ার্ড পুনরুদ্ধার, অ্যাকাউন্ট লিঙ্ক করা, নতুন/বিদ্যমান অ্যাকাউন্ট দ্ব্যর্থতা নিরসন প্রবাহ যা প্রায়ই কোড এবং ডিবাগ করতে উল্লেখযোগ্য সময় নেয়। এটি Android-এ পাসওয়ার্ডের জন্য Smart Lock সংহত করে, যা অংশগ্রহণকারী অ্যাপগুলির জন্য সাইন-ইন এবং সাইন-আপ রূপান্তরকে উল্লেখযোগ্যভাবে উন্নত করেছে। এটি আপনার অ্যাপ্লিকেশনের সাথে মেলে সহজ থিম পরিবর্তনগুলিকেও সমর্থন করে এবং সর্বাধিক কাস্টমাইজযোগ্যতার জন্য, অ্যান্ড্রয়েড এবং iOS সংস্করণগুলি ওপেন সোর্স করা হয়েছে৷

  • সরলীকৃত সার্ভার সেটআপ

    আমরা ডেভেলপারদের জন্য Firebase প্রমাণীকরণ ব্যবহার করা সহজ করে দিয়েছি। আইডেন্টিটি টুলকিটের মাধ্যমে, আমরা দেখেছি যে অনেক ডেভেলপার ইমেল পুনরুদ্ধার প্রবাহ বাস্তবায়ন না করার সিদ্ধান্ত নিয়েছে যা তাদের ব্যবহারকারীরা তাদের পাসওয়ার্ড ভুলে গেলে তাদের অ্যাকাউন্ট পুনরুদ্ধার করা অসম্ভব করে তুলেছে। Firebase প্রমাণীকরণ ব্যবহারকারীকে ইমেল যাচাইকরণ, পাসওয়ার্ড রিসেট এবং পরিবর্তিত পাসওয়ার্ড বার্তা পাঠাতে পারে এবং পাঠ্যটি আপনার ব্যবহারকারীদের জন্য সহজেই কাস্টমাইজ করা যেতে পারে। অতিরিক্তভাবে, রিডাইরেক্ট হোস্ট করা এবং পাসওয়ার্ড পরিবর্তনের ক্রিয়াকলাপ সম্পূর্ণ করার জন্য আপনাকে আর UI উইজেটগুলি হোস্ট করতে হবে না।

  • নতুন অ্যাডমিন কনসোল

    Firebase-এ একটি নতুন ডেভেলপার কনসোল রয়েছে এবং প্রমাণীকরণ বিভাগ আপনাকে আপনার ব্যবহারকারীদের দেখতে, পরিবর্তন করতে এবং মুছতে দেয়৷ আপনার সাইন-ইন এবং সাইন-আপ প্রবাহ ডিবাগ করার ক্ষেত্রে এটি একটি দুর্দান্ত সাহায্য হতে পারে৷ কনসোল আপনাকে প্রমাণীকরণ পদ্ধতি কনফিগার করতে এবং ইমেল টেমপ্লেটগুলি কাস্টমাইজ করার অনুমতি দেয়।

  • নতুন SDK

    আইডেন্টিটি টুলকিটের সমস্ত সার্ভার API এখন আমাদের প্রতিটি ক্লায়েন্ট লাইব্রেরিতে (Android, iOS, ওয়েব) স্থানীয়ভাবে উপলব্ধ। বিকাশকারীরা একটি নির্দিষ্ট UI এর সাথে আবদ্ধ না হয়ে সাইন ইন করতে এবং পুরানো এবং নতুন ব্যবহারকারীদের সাইন আপ করতে, ব্যবহারকারীর বৈশিষ্ট্যগুলি অ্যাক্সেস করতে, লিঙ্ক করতে, অ্যাকাউন্টগুলিকে আপডেট করতে এবং মুছে ফেলতে, পাসওয়ার্ডগুলি পুনরায় সেট করতে এবং আরও অনেক কিছু করতে সক্ষম হবে৷ আপনি যদি পছন্দ করেন, আপনি ম্যানুয়ালি এই API এর উপরে আপনার নিজের সম্পূর্ণ সাইন ইন প্রবাহ এবং অভিজ্ঞতা তৈরি করতে পারেন।

  • মোবাইল অ্যাপের জন্য সেশন ম্যানেজমেন্ট

    আইডেন্টিটি টুলকিটের সাহায্যে, আইডেন্টিটি টুলকিট থেকে প্রাথমিক প্রমাণীকরণ ইভেন্টের উপর ভিত্তি করে অ্যাপগুলি তাদের নিজস্ব সেশন স্টেট তৈরি করেছে। Firebase Auth একটি ব্যাকএন্ড পরিষেবা ব্যবহার করে যা একটি রিফ্রেশ টোকেন নেয়, প্রমাণীকরণ ইভেন্ট থেকে মিন্ট করা হয় এবং এটি Android, iOS এবং JavaScript-এর জন্য ঘন্টাব্যাপী অ্যাক্সেস টোকেনের জন্য বিনিময় করে৷ যখন একজন ব্যবহারকারী তাদের পাসওয়ার্ড পরিবর্তন করে, তখন রিফ্রেশ টোকেনগুলি আর নতুন অ্যাক্সেস টোকেন তৈরি করতে সক্ষম হবে না, যার ফলে ব্যবহারকারী সেই ডিভাইসে পুনরায় প্রমাণীকরণ না করা পর্যন্ত অ্যাক্সেস অক্ষম করে।

  • বেনামী এবং গিটহাব প্রমাণীকরণ

    ফায়ারবেস প্রমাণীকরণ দুটি নতুন প্রমাণীকরণ প্রকারকে সমর্থন করে: গিটহাব এবং বেনামী। ব্যবহারকারীকে কোনো সাইন-ইন বা সাইন-আপ প্রক্রিয়ার মধ্য দিয়ে যাওয়ার প্রয়োজন ছাড়াই একটি অনন্য ব্যবহারকারী আইডি তৈরি করতে বেনামী সাইন-ইন ব্যবহার করা যেতে পারে। একজন বেনামী ব্যবহারকারীর সাথে, আপনি এখন প্রমাণীকৃত API কল করতে পারেন, যেমন আপনি একজন নিয়মিত ব্যবহারকারীর সাথে করেন। যখন ব্যবহারকারী একটি অ্যাকাউন্টের জন্য সাইন আপ করার সিদ্ধান্ত নেয়, তখন সমস্ত কার্যকলাপ একই ব্যবহারকারী আইডি দিয়ে সংরক্ষিত হয়। এটি সার্ভার সাইড শপিং কার্ট বা যেকোনো অ্যাপ্লিকেশনের মতো পরিস্থিতির জন্য দুর্দান্ত যেখানে আপনি ব্যবহারকারীকে সাইন-আপ প্রবাহের মাধ্যমে পাঠানোর আগে তাদের জড়িত করতে চান৷

বৈশিষ্ট্য পার্থক্য

কিছু আইডেন্টিটি টুলকিট বৈশিষ্ট্য বর্তমানে ফায়ারবেস প্রমাণীকরণে উপলব্ধ নয়, যখন অন্যান্য বৈশিষ্ট্যগুলি পুনরায় ডিজাইন করা হয়েছে এবং ভিন্নভাবে কাজ করে। এই বৈশিষ্ট্যগুলি আপনার অ্যাপের জন্য গুরুত্বপূর্ণ হলে আপনি অবিলম্বে স্থানান্তর না করা বেছে নিতে পারেন। অনেক ক্ষেত্রে, এই বৈশিষ্ট্যগুলি আপনার অ্যাপের জন্য গুরুত্বপূর্ণ নাও হতে পারে বা সহজে ফলব্যাক হতে পারে যা আপনাকে মাইগ্রেশনের সাথে এগিয়ে যেতে সক্ষম করবে৷

সার্ভার পার্শ্ব পার্থক্য

মূল আইডেন্টিটি টুলকিট পরিষেবাটি এর অন্তর্নিহিত REST API, অ্যাকাউন্ট যাচাইকরণ যুক্তি, এবং প্রাথমিক ব্যবহারকারী ডাটাবেস শুধুমাত্র ছোটখাটো আপডেটের মধ্য দিয়ে গেছে। কিন্তু কিছু বৈশিষ্ট্য এবং আপনি যেভাবে আপনার পরিষেবাতে ফায়ারবেস প্রমাণীকরণকে একীভূত করেন তা পরিবর্তিত হয়েছে।

  • পরিচয় প্রদানকারী

    Paypal এবং AOL সমর্থিত নয়। এই IDPs থেকে অ্যাকাউন্ট থাকা ব্যবহারকারীরা এখনও পাসওয়ার্ড পুনরুদ্ধার প্রবাহের সাথে আপনার অ্যাপ্লিকেশনে সাইন ইন করতে এবং তাদের অ্যাকাউন্টের জন্য একটি পাসওয়ার্ড সেট আপ করতে পারে৷

  • সার্ভার লাইব্রেরি

    বর্তমানে, Java, Node.js, Python, Go এবং C# এর জন্য Firebase অ্যাডমিন SDK আছে।

  • অ্যাকাউন্ট ব্যবস্থাপনা ইমেল

    পাসওয়ার্ড রিসেট, ইমেল যাচাইকরণ, এবং ইমেল পরিবর্তন বার্তাগুলি Firebase দ্বারা বা বিকাশকারীর নিজস্ব মেল সার্ভার থেকে সঞ্চালিত হতে পারে৷ বর্তমানে, Firebase ইমেল টেমপ্লেট শুধুমাত্র সীমিত কাস্টমাইজেশন অফার করে।

  • ইমেল ঠিকানা পরিবর্তন নিশ্চিতকরণ

    আইডেন্টিটি টুলকিটে, যখন একজন ব্যবহারকারী তাদের ইমেল ঠিকানা পরিবর্তন করার সিদ্ধান্ত নেয়, তখন এটি নতুন ঠিকানায় একটি ইমেল পাঠায় যাতে ইমেল ঠিকানা পরিবর্তনের প্রবাহ অব্যাহত রাখার জন্য একটি লিঙ্ক থাকে।

    Firebase পরিবর্তনটি প্রত্যাবর্তনের জন্য একটি লিঙ্ক সহ পুরানো ইমেল ঠিকানায় একটি প্রত্যাহার ইমেল পাঠিয়ে ইমেল ঠিকানা পরিবর্তন নিশ্চিত করে৷

  • IDP রোলআউট

    Identity Toolkit-এ আপনার সাইন-ইন সিস্টেমে ধীরে ধীরে পরিচয় প্রদানকারী যোগ করার ক্ষমতা ছিল, যাতে আপনি আপনার সমর্থন অনুরোধের উপর প্রভাব নিয়ে পরীক্ষা করতে পারেন। Firebase প্রমাণীকরণে এই বৈশিষ্ট্যটি সরানো হয়েছে।

ক্লায়েন্ট পক্ষের পার্থক্য

ফায়ারবেসে, Google আইডেন্টিটি টুলকিট দ্বারা প্রদত্ত বৈশিষ্ট্যগুলি দুটি উপাদানে বিভক্ত:

  • ফায়ারবেস প্রমাণীকরণ SDK

    Firebase প্রমাণীকরণে, Identity Toolkit-এর REST API দ্বারা প্রদত্ত কার্যকারিতা Android, iOS এবং JavaScript-এর জন্য উপলব্ধ ক্লায়েন্ট SDK-তে প্যাকেজ করা হয়েছে। আপনি সাইন ইন করতে এবং ব্যবহারকারীদের সাইন আপ করতে SDK ব্যবহার করতে পারেন; ব্যবহারকারীর প্রোফাইল তথ্য অ্যাক্সেস করুন; লিঙ্ক, আপডেট এবং অ্যাকাউন্ট মুছে ফেলা; এবং REST কলের মাধ্যমে ব্যাক এন্ড সার্ভিসের সাথে যোগাযোগ করার পরিবর্তে ক্লায়েন্ট SDK ব্যবহার করে পাসওয়ার্ড রিসেট করুন।

  • FirebaseUI প্রমাণীকরণ

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

অতিরিক্ত পার্থক্য অন্তর্ভুক্ত:

  • সেশন এবং মাইগ্রেশন

    যেহেতু আইডেন্টিটি টুলকিট এবং ফায়ারবেস প্রমাণীকরণে সেশনগুলি আলাদাভাবে পরিচালিত হয়, তাই আপনার ব্যবহারকারীদের বিদ্যমান সেশনগুলি SDK আপগ্রেড করার পরে বন্ধ হয়ে যাবে এবং আপনার ব্যবহারকারীদের আবার সাইন ইন করতে হবে৷

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

আইডেন্টিটি টুলকিট থেকে ফায়ারবেস প্রমাণীকরণে স্থানান্তর করার আগে, আপনাকে অবশ্যই করতে হবে

  1. ফায়ারবেস কনসোল খুলুন, Google প্রজেক্ট আমদানি করুন ক্লিক করুন এবং আপনার আইডেন্টিটি টুলকিট প্রজেক্ট নির্বাচন করুন।

  2. IAM এবং অ্যাডমিন পৃষ্ঠা খুলতে > অনুমতিতে ক্লিক করুন।

  3. পরিষেবা অ্যাকাউন্ট পৃষ্ঠা খুলুন। এখানে আপনি আইডেন্টিটি টুলকিটের জন্য পূর্বে কনফিগার করা পরিষেবা অ্যাকাউন্ট দেখতে পাবেন।

  4. পরিষেবা অ্যাকাউন্টের পাশে, > Create key-এ ক্লিক করুন। তারপর, প্রাইভেট কী তৈরি করুন ডায়ালগে, কী টাইপটি JSON- এ সেট করুন এবং তৈরি করুন ক্লিক করুন। আপনার পরিষেবা অ্যাকাউন্টের শংসাপত্র সহ একটি JSON ফাইল আপনার জন্য ডাউনলোড করা হয়েছে৷ পরবর্তী ধাপে SDK শুরু করতে আপনার এটির প্রয়োজন হবে।

  5. Firebase কনসোলে ফিরে যান। প্রমাণ বিভাগে, ইমেল টেমপ্লেট পৃষ্ঠা খুলুন। এই পৃষ্ঠায়, আপনার অ্যাপের ইমেল টেমপ্লেটগুলি কাস্টমাইজ করুন৷

    আইডেন্টিটি টুলকিটে, যখন ব্যবহারকারীরা পাসওয়ার্ড রিসেট করে, ইমেল ঠিকানা পরিবর্তন করে এবং তাদের ইমেল ঠিকানা যাচাই করে, তখন আপনাকে আইডেন্টিটি টুলকিট সার্ভার থেকে একটি OOB কোড পেতে হবে এবং তারপর ইমেলের মাধ্যমে ব্যবহারকারীদের কাছে কোডটি পাঠাতে হবে। ফায়ারবেস আপনার কনফিগার করা টেমপ্লেটগুলির উপর ভিত্তি করে ইমেল পাঠায় এবং কোনো অতিরিক্ত পদক্ষেপের প্রয়োজন নেই।

  6. ঐচ্ছিক : আপনার সার্ভারে Firebase পরিষেবাগুলি অ্যাক্সেস করার প্রয়োজন হলে, Firebase SDK ইনস্টল করুন৷

    1. আপনি npm সহ Firebase Node.js মডিউল ইনস্টল করতে পারেন:

      $ npm init
      $ npm install --save firebase-admin
      
    2. আপনার কোডে, আপনি ব্যবহার করে Firebase অ্যাক্সেস করতে পারেন:

      var admin = require('firebase-admin');
      var app = admin.initializeApp({
        credential: admin.credential.cert('path/to/serviceAccountCredentials.json')
      });
      

এরপরে, আপনার অ্যাপের প্ল্যাটফর্মের জন্য মাইগ্রেশন ধাপগুলি সম্পূর্ণ করুন: Android , iOS , web

সার্ভার এবং জাভাস্ক্রিপ্ট

উল্লেখযোগ্য পরিবর্তন

Identity Toolkit থেকে Firebase-এর ওয়েব বাস্তবায়নে বেশ কিছু অতিরিক্ত পার্থক্য রয়েছে।

  • ওয়েব সেশন পরিচালনা

    পূর্বে, যখন একজন ব্যবহারকারী আইডেন্টিটি টুলকিট উইজেট ব্যবহার করে প্রমাণীকরণ করত, তখন ব্যবহারকারীর জন্য একটি কুকি সেট করা হত যা সেশন বুটস্ট্র্যাপ করতে ব্যবহৃত হত। এই কুকিটির দুই সপ্তাহের জীবনকাল ছিল এবং ব্যবহারকারীকে পাসওয়ার্ড এবং ইমেল ঠিকানা পরিবর্তন করতে অ্যাকাউন্ট পরিচালনা উইজেট ব্যবহার করার অনুমতি দেওয়ার জন্য ব্যবহার করা হয়েছিল। কিছু সাইট এই কুকি ব্যবহার করে সাইটের অন্যান্য সমস্ত পৃষ্ঠার অনুরোধকে প্রমাণীকরণ করতে। অন্যান্য সাইটগুলি তাদের ফ্রেমওয়ার্কের কুকি ম্যানেজমেন্ট সিস্টেমের মাধ্যমে তাদের নিজস্ব কুকি তৈরি করতে কুকি ব্যবহার করে।

    Firebase ক্লায়েন্ট SDKগুলি এখন Firebase ID টোকেনগুলি পরিচালনা করে এবং Firebase প্রমাণীকরণের ব্যাকএন্ডের সাথে কাজ করে সেশনটিকে সতেজ রাখতে। গুরুত্বপূর্ণ অ্যাকাউন্ট পরিবর্তন (যেমন ব্যবহারকারীর পাসওয়ার্ড পরিবর্তন) ঘটলে ব্যাকএন্ড সেশনের মেয়াদ শেষ করে। ফায়ারবেস আইডি টোকেনগুলি ওয়েব ক্লায়েন্টে স্বয়ংক্রিয়ভাবে কুকি হিসাবে সেট করা হয় না এবং শুধুমাত্র এক ঘন্টার জীবনকাল থাকে। আপনি যদি মাত্র এক ঘন্টার সেশন না চান, ফায়ারবেস আইডি টোকেনগুলি আপনার পৃষ্ঠার সমস্ত অনুরোধ যাচাই করার জন্য কুকি হিসাবে ব্যবহার করা উপযুক্ত নয়৷ পরিবর্তে, ব্যবহারকারী লগ ইন করার সময়, ফায়ারবেস আইডি টোকেন পেতে , টোকেনটি যাচাই করতে এবং আপনার ফ্রেমওয়ার্কের কুকি ম্যানেজমেন্ট সিস্টেমের মাধ্যমে আপনার নিজস্ব কুকি তৈরি করার জন্য আপনাকে একজন শ্রোতা সেট আপ করতে হবে।

    আপনার অ্যাপ্লিকেশনের নিরাপত্তা চাহিদার উপর ভিত্তি করে আপনাকে আপনার কুকির সেশনের জীবনকাল সেট করতে হবে।

  • ওয়েব সাইন-ইন প্রবাহ

    পূর্বে, ব্যবহারকারীরা কোন আইডেন্টিফায়ার ব্যবহার করতে চায় তা জানতে সাইন-ইন করার সময় ব্যবহারকারীদের accountchooser.com এ পুনঃনির্দেশিত করা হয়েছিল। Firebase Auth UI এর প্রবাহ এখন সাইন-ইন পদ্ধতির একটি তালিকা দিয়ে শুরু হয়, যার মধ্যে একটি ইমেল বিকল্প রয়েছে যা ওয়েবের জন্য accountchooser.com এ যায় এবং Android এ hintRequest API ব্যবহার করে। উপরন্তু, Firebase UI-তে ইমেল ঠিকানার আর প্রয়োজন নেই। এটি বেনামী ব্যবহারকারী, কাস্টম প্রমাণীকরণ ব্যবহারকারী বা প্রদানকারীর ব্যবহারকারীদের সমর্থন করা সহজ করে তুলবে যেখানে ইমেল ঠিকানার প্রয়োজন নেই।

  • অ্যাকাউন্ট ম্যানেজমেন্ট উইজেট

    এই উইজেটটি ব্যবহারকারীদের ইমেল ঠিকানা পরিবর্তন করতে, পাসওয়ার্ড পরিবর্তন করতে বা পরিচয় প্রদানকারীদের থেকে তাদের অ্যাকাউন্টগুলি আনলিঙ্ক করতে একটি UI প্রদান করে। এটি বর্তমানে উন্নয়নাধীন।

  • সাইন-ইন বোতাম/উইজেট

    সাইন-ইন বোতাম এবং ব্যবহারকারী কার্ডের মতো উইজেটগুলি আর প্রদান করা হয় না৷ ফায়ারবেস প্রমাণীকরণ API ব্যবহার করে এগুলি খুব সহজেই তৈরি করা যেতে পারে।

  • সাইনআউট ইউআরএল নেই

    আপনাকে firebase.auth.signOut() কল করতে হবে এবং কলব্যাক পরিচালনা করতে হবে।

  • কোন oobActionUrl নেই

    ইমেল পাঠানো এখন Firebase দ্বারা পরিচালিত হয় এবং Firebase কনসোলে কনফিগার করা হয়।

  • CSS কাস্টমাইজেশন

    FirebaseUI মেটেরিয়াল ডিজাইন লাইট স্টাইলিং ব্যবহার করে, যা গতিশীলভাবে মেটেরিয়াল ডিজাইন অ্যানিমেশন যোগ করে।

ধাপ 1: সার্ভার কোড পরিবর্তন করুন

  1. আপনার সার্ভার যদি ওয়েব ব্যবহারকারীর সেশন পরিচালনা করতে আইডেন্টিটি টুলকিট টোকেন (দুই সপ্তাহের জন্য বৈধ) উপর নির্ভর করে, তাহলে আপনাকে সার্ভারটিকে তার নিজস্ব সেশন কুকি ব্যবহার করতে রূপান্তর করতে হবে।

    1. Firebase আইডি টোকেন যাচাই করার জন্য এবং ব্যবহারকারীর জন্য সেশন কুকি সেট করার জন্য একটি এন্ডপয়েন্ট প্রয়োগ করুন। ক্লায়েন্ট অ্যাপ Firebase আইডি টোকেন এই শেষ পয়েন্টে পাঠায়।
    2. যদি আগত অনুরোধে আপনার নিজস্ব সেশন কুকি থাকে, তাহলে আপনি ব্যবহারকারীকে প্রমাণীকরণ বিবেচনা করতে পারেন। অন্যথায়, অনুরোধটিকে অপ্রমাণিত হিসাবে বিবেচনা করুন।
    3. আপনি যদি না চান যে আপনার ব্যবহারকারীদের মধ্যে কেউ তাদের বিদ্যমান লগ-ইন সেশনগুলি হারাতে পারে, তাহলে আপনাকে সমস্ত আইডেন্টিটি টুলকিট টোকেনগুলির মেয়াদ শেষ হওয়ার জন্য দুই সপ্তাহ অপেক্ষা করতে হবে, অথবা ধাপ 3 এ নীচে বর্ণিত আপনার ওয়েব অ্যাপ্লিকেশনের জন্য ডুয়াল টোকেন বৈধতাও করতে হবে৷
  2. এর পরে, যেহেতু ফায়ারবেস টোকেনগুলি আইডেন্টিটি টুলকিট টোকেনগুলির থেকে আলাদা, তাই আপনাকে অবশ্যই আপনার টোকেন যাচাইকরণের যুক্তি আপডেট করতে হবে৷ আপনার সার্ভারে Firebase সার্ভার SDK ইনস্টল করুন; অথবা, আপনি যদি ফায়ারবেস সার্ভার SDK দ্বারা সমর্থিত নয় এমন একটি ভাষা ব্যবহার করেন, তাহলে আপনার পরিবেশের জন্য একটি JWT টোকেন বৈধতা লাইব্রেরি ডাউনলোড করুন এবং টোকেনটিকে সঠিকভাবে যাচাই করুন

  3. আপনি যখন প্রথমবার উপরের আপডেটগুলি করেন, তখনও আপনার কাছে কোড পাথ থাকতে পারে যা আইডেন্টিটি টুলকিট টোকেনের উপর নির্ভর করে। আপনার যদি iOS বা অ্যান্ড্রয়েড অ্যাপ্লিকেশন থাকে, নতুন কোড পাথ কাজ করার জন্য ব্যবহারকারীদের অ্যাপের নতুন সংস্করণে আপগ্রেড করতে হবে। আপনি যদি আপনার ব্যবহারকারীদের আপনার অ্যাপ আপডেট করতে বাধ্য করতে না চান, তাহলে আপনি অতিরিক্ত সার্ভারের বৈধতা যুক্তি যোগ করতে পারেন যা টোকেন পরীক্ষা করে এবং টোকেন যাচাই করার জন্য Firebase SDK বা Identity Toolkit SDK ব্যবহার করতে হবে কিনা তা নির্ধারণ করে৷ আপনার যদি শুধুমাত্র একটি ওয়েব অ্যাপ্লিকেশন থাকে, তবে সমস্ত নতুন প্রমাণীকরণের অনুরোধগুলি Firebase-এ স্থানান্তরিত হবে এবং তাই, আপনাকে শুধুমাত্র Firebase টোকেন যাচাইকরণ পদ্ধতিগুলি ব্যবহার করতে হবে৷

ফায়ারবেস ওয়েব API রেফারেন্স দেখুন।

ধাপ 2: আপনার HTML আপডেট করুন

  1. আপনার অ্যাপে ফায়ারবেস ইনিশিয়ালাইজেশন কোড যোগ করুন:

    1. Firebase কনসোলে আপনার প্রকল্প খুলুন।
    2. ওভারভিউ পৃষ্ঠায়, অ্যাপ যোগ করুন-এ ক্লিক করুন, তারপর আপনার ওয়েব অ্যাপে Firebase যোগ করুন-এ ক্লিক করুন। একটি কোড স্নিপেট যা ফায়ারবেস শুরু করে তা প্রদর্শিত হয়।
    3. আপনার ওয়েব পৃষ্ঠায় প্রারম্ভিক স্নিপেটটি অনুলিপি করুন এবং আটকান।
  2. আপনার অ্যাপে FirebaseUI প্রমাণ যোগ করুন:

    <script src="https://www.gstatic.com/firebasejs/ui/live/0.4/firebase-ui-auth.js"></script>
    <link type="text/css" rel="stylesheet" href="https://www.gstatic.com/firebasejs/ui/live/0.4/firebase-ui-auth.css" />
    <!-- *******************************************************************************************
       * TODO(DEVELOPER): Paste the initialization snippet from:
       * Firebase Console > Overview > Add Firebase to your web app. *
       ***************************************************************************************** -->
    <script type="text/javascript">
      // FirebaseUI config.
      var uiConfig = {
        'signInSuccessUrl': '<url-to-redirect-to-on-success>',
        'signInOptions': [
          // Leave the lines as is for the providers you want to offer your users.
          firebase.auth.GoogleAuthProvider.PROVIDER_ID,
          firebase.auth.FacebookAuthProvider.PROVIDER_ID,
          firebase.auth.TwitterAuthProvider.PROVIDER_ID,
          firebase.auth.GithubAuthProvider.PROVIDER_ID,
          firebase.auth.EmailAuthProvider.PROVIDER_ID
        ],
        // Terms of service url.
        'tosUrl': '<your-tos-url>',
      };
    
      // Initialize the FirebaseUI Widget using Firebase.
      var ui = new firebaseui.auth.AuthUI(firebase.auth());
      // The start method will wait until the DOM is loaded.
      ui.start('#firebaseui-auth-container', uiConfig);
    </script>
    
  3. আপনার অ্যাপ থেকে Identity Toolkit SDK সরান।

  4. আপনি সেশন পরিচালনার জন্য আইডেন্টিটি টুলকিট আইডি টোকেনের উপর নির্ভর করলে, আপনাকে অবশ্যই ক্লায়েন্ট সাইডে নিম্নলিখিত পরিবর্তনগুলি করতে হবে:

    1. Firebase এর সাথে সফলভাবে সাইন ইন করার পর, firebase.auth().currentUser.getToken() কল করে একটি Firebase আইডি টোকেন পান।

    2. ব্যাকএন্ড সার্ভারে Firebase আইডি টোকেন পাঠান, এটি যাচাই করুন এবং আপনার নিজস্ব সেশন কুকি ইস্যু করুন।

      সংবেদনশীল ক্রিয়াকলাপ সম্পাদন করার সময় বা আপনার সার্ভারে প্রমাণীকৃত সম্পাদনা অনুরোধ পাঠানোর সময় শুধুমাত্র সেশন কুকির উপর নির্ভর করবেন না। আপনাকে অতিরিক্ত ক্রস-সাইট অনুরোধ জালিয়াতি (CSRF) সুরক্ষা প্রদান করতে হবে।

      যদি আপনার ফ্রেমওয়ার্ক CSRF সুরক্ষা প্রদান না করে, তাহলে আক্রমণ প্রতিরোধ করার একটি উপায় হল getToken() সহ সাইন-ইন করা ব্যবহারকারীর জন্য একটি Firebase ID টোকেন পাওয়া এবং প্রতিটি অনুরোধের সাথে টোকেন অন্তর্ভুক্ত করা (সেশন কুকিও ডিফল্টরূপে পাঠানো হবে। ) তারপরে আপনি সেশন কুকি চেক ছাড়াও Firebase সার্ভার SDK ব্যবহার করে সেই টোকেনটি যাচাই করবেন, যা আপনার ব্যাকএন্ড ফ্রেমওয়ার্ক সম্পন্ন হয়েছে। এটি CSRF আক্রমণগুলিকে সফল করা কঠিন করে তুলবে, কারণ ফায়ারবেস আইডি টোকেন শুধুমাত্র ওয়েব স্টোরেজ ব্যবহার করে সংরক্ষণ করা হয় এবং কুকিতে কখনই নয়।

    3. আইডেন্টিটি টুলকিট টোকেন দুই সপ্তাহের জন্য বৈধ। আপনি হয়ত দুই সপ্তাহ স্থায়ী টোকেন ইস্যু করা চালিয়ে যেতে চাইতে পারেন, অথবা আপনি আপনার অ্যাপের নিরাপত্তা প্রয়োজনীয়তার উপর ভিত্তি করে এটিকে দীর্ঘ বা ছোট করতে চাইতে পারেন। যখন একজন ব্যবহারকারী সাইন আউট করেন, সেশন কুকি সাফ করুন।

ধাপ 3: IDP রিডাইরেক্ট URL আপডেট করুন

  1. Firebase কনসোলে, প্রমাণীকরণ বিভাগটি খুলুন এবং সাইন-ইন পদ্ধতি ট্যাবে ক্লিক করুন।

  2. আপনি সমর্থন করেন প্রতিটি ফেডারেটেড সাইন-ইন প্রদানকারীর জন্য, নিম্নলিখিতগুলি করুন:

    1. সাইন-ইন প্রদানকারীর নামে ক্লিক করুন।
    2. OAuth রিডাইরেক্ট URI কপি করুন।
    3. সাইন-ইন প্রদানকারীর ডেভেলপার কনসোলে, OAuth রিডাইরেক্ট URI আপডেট করুন।

অ্যান্ড্রয়েড

ধাপ 1: আপনার অ্যাপে Firebase যোগ করুন

  1. Firebase কনসোল খুলুন, এবং আপনার আইডেন্টিটি টুলকিট প্রজেক্ট নির্বাচন করুন, যা আপনি ইতিমধ্যেই আমদানি করেছেন।

  2. ওভারভিউ পৃষ্ঠায়, অ্যাপ যোগ করুন-এ ক্লিক করুন এবং তারপর আপনার অ্যান্ড্রয়েড অ্যাপে ফায়ারবেস যোগ করুন-এ ক্লিক করুন। Firebase যোগ করুন ডায়ালগে, আপনার অ্যাপের প্যাকেজের নাম এবং স্বাক্ষরকারী শংসাপত্রের আঙুলের ছাপ প্রদান করুন এবং অ্যাপ যোগ করুন ক্লিক করুন। google-services.json কনফিগারেশন ফাইলটি তারপর আপনার কম্পিউটারে ডাউনলোড করা হয়।

  3. আপনার অ্যান্ড্রয়েড অ্যাপ মডিউল রুট ডিরেক্টরিতে কনফিগারেশন ফাইলটি অনুলিপি করুন। এই কনফিগারেশন ফাইলে প্রোজেক্ট এবং Google OAuth ক্লায়েন্টের তথ্য রয়েছে।

  4. আপনার প্রকল্প-স্তরের build.gradle ফাইলে ( <var>your-project</var>/build.gradle ), defaultConfig বিভাগে আপনার অ্যাপের প্যাকেজের নাম উল্লেখ করুন:

    defaultConfig {
       …..
      applicationId "com.your-app"
    }
    
  5. এছাড়াও আপনার প্রকল্প-স্তরের build.gradle ফাইলে, google-services প্লাগইন অন্তর্ভুক্ত করার জন্য একটি নির্ভরতা যোগ করুন:

    buildscript {
     dependencies {
       // Add this line
       classpath 'com.google.gms:google-services:3.0.0'
     }
    }
    
  6. আপনার অ্যাপের অ্যাপ-লেভেল build.gradle ফাইলে ( <var>my-project</var>/<var>app-module</var>/build.gradle ), google-কে সক্ষম করতে নীচের লাইনটি যুক্ত করুন- পরিষেবা প্লাগইন:

    // Add to the bottom of the file
    apply plugin: 'com.google.gms.google-services'
    

    Firebase ব্যবহার করার জন্য আপনার অ্যাপ্লিকেশন কনফিগার করতে google-services প্লাগইনটি google-services.json ফাইল ব্যবহার করে।

  7. এছাড়াও অ্যাপ-স্তরের build.gradle ফাইলে, Firebase প্রমাণীকরণ নির্ভরতা যোগ করুন:

    compile 'com.google.firebase:firebase-auth:22.3.1'
    compile 'com.google.android.gms:play-services-auth:21.1.0'
    

ধাপ 2: আইডেন্টিটি টুলকিট SDK সরান

  1. AndroidManifest.xml ফাইল থেকে আইডেন্টিটি টুলকিট কনফিগারেশন সরান। এই তথ্যটি google-service.json ফাইলে অন্তর্ভুক্ত করা হয়েছে এবং google-services প্লাগইন দ্বারা লোড করা হয়েছে।
  2. আপনার অ্যাপ থেকে Identity Toolkit SDK সরান।

ধাপ 3: আপনার অ্যাপে FirebaseUI যোগ করুন

  1. আপনার অ্যাপে FirebaseUI প্রমাণ যোগ করুন।

  2. আপনার অ্যাপে, আইডেন্টিটি টুলকিট SDK-এর কলগুলিকে FirebaseUI-তে কল দিয়ে প্রতিস্থাপন করুন।

iOS

ধাপ 1: আপনার অ্যাপে Firebase যোগ করুন

  1. নিম্নলিখিত কমান্ডগুলি চালিয়ে আপনার অ্যাপে Firebase SDK যোগ করুন:

    $ cd your-project directory
    $ pod init
    $ pod 'Firebase'
    
  2. Firebase কনসোল খুলুন, এবং আপনার আইডেন্টিটি টুলকিট প্রজেক্ট নির্বাচন করুন, যা আপনি ইতিমধ্যেই আমদানি করেছেন।

  3. ওভারভিউ পৃষ্ঠায়, অ্যাপ যোগ করুন-এ ক্লিক করুন এবং তারপর আপনার iOS অ্যাপে Firebase যোগ করুন-এ ক্লিক করুন। Firebase যোগ করুন ডায়ালগে, আপনার অ্যাপের বান্ডেল আইডি এবং অ্যাপ স্টোর আইডি প্রদান করুন এবং তারপর অ্যাপ যোগ করুন-এ ক্লিক করুন। GoogleService-Info.plist কনফিগারেশন ফাইলটি তারপর আপনার কম্পিউটারে ডাউনলোড করা হয়। আপনার প্রোজেক্টে একাধিক বান্ডেল আইডি থাকলে, প্রতিটি বান্ডেল আইডি অবশ্যই Firebase কনসোলে সংযুক্ত থাকতে হবে যাতে এটির নিজস্ব GoogleService-Info.plist ফাইল থাকতে পারে।

  4. আপনার Xcode প্রকল্পের রুটে কনফিগারেশন ফাইলটি অনুলিপি করুন এবং এটি সমস্ত লক্ষ্যগুলিতে যোগ করুন।

ধাপ 2: আইডেন্টিটি টুলকিট SDK সরান

  1. আপনার অ্যাপের Podfile থেকে GoogleIdentityToolkit সরান।
  2. pod install কমান্ড চালান।

ধাপ 3: আপনার অ্যাপে FirebaseUI যোগ করুন

  1. আপনার অ্যাপে FirebaseUI প্রমাণ যোগ করুন।

  2. আপনার অ্যাপে, আইডেন্টিটি টুলকিট SDK-এর কলগুলিকে FirebaseUI-তে কল দিয়ে প্রতিস্থাপন করুন।