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

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

নতুন বৈশিষ্ট্য

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

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

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

  • আপডেট করা UI গুলি

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

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

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

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

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

  • নতুন SDK গুলি

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

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

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

  • বেনামী এবং GitHub প্রমাণীকরণ

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

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

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

সার্ভারের দিক পার্থক্য

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

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

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

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

    বর্তমানে, জাভা, নোড.জেএস, পাইথন, গো এবং সি# এর জন্য ফায়ারবেস অ্যাডমিন SDK উপলব্ধ রয়েছে।

  • অ্যাকাউন্ট পরিচালনার ইমেল

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

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

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

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

  • আইডিপি রোলআউট

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

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

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

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

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

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

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

অতিরিক্ত পার্থক্যগুলির মধ্যে রয়েছে:

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

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

শুরু করার আগে

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

  1. Firebase কনসোলটি খুলুন, Import Google Project এ ক্লিক করুন এবং আপনার Identity Toolkit প্রকল্পটি নির্বাচন করুন।

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

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

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

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

    আইডেন্টিটি টুলকিটে, যখন ব্যবহারকারীরা পাসওয়ার্ড রিসেট করে, ইমেল ঠিকানা পরিবর্তন করে এবং তাদের ইমেল ঠিকানা যাচাই করে, তখন আপনাকে আইডেন্টিটি টুলকিট সার্ভার থেকে একটি 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 .

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

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

আইডেন্টিটি টুলকিট থেকে ফায়ারবেসের ওয়েব বাস্তবায়নে আরও বেশ কিছু পার্থক্য রয়েছে।

  • ওয়েব সেশন ব্যবস্থাপনা

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

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

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

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

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

  • অ্যাকাউন্ট পরিচালনা উইজেট

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

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

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

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

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

  • কোন oobActionUrl নেই

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

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

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

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

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

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

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

ফায়ারবেস ওয়েব এপিআই রেফারেন্স দেখুন।

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

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

    1. Firebase কনসোলে আপনার প্রকল্পটি খুলুন।
    2. ওভারভিউ পৃষ্ঠায়, Add App এ ক্লিক করুন, তারপর Add Firebase to your web app এ ক্লিক করুন। Firebase শুরু করে এমন একটি কোড স্নিপেট প্রদর্শিত হবে।
    3. আপনার ওয়েব পৃষ্ঠায় ইনিশিয়ালাইজেশন স্নিপেটটি কপি করে পেস্ট করুন।
  2. আপনার অ্যাপে FirebaseUI Auth যোগ করুন:

    <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. আপনার অ্যাপ থেকে আইডেন্টিটি টুলকিট SDK সরান।

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    compile 'com.google.firebase:firebase-auth:24.0.1'
    compile 'com.google.android.gms:play-services-auth:21.5.0'
    

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

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

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

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

  2. আপনার অ্যাপে, Identity Toolkit SDK-তে কল করার পরিবর্তে FirebaseUI-তে কল করুন।

আইওএস

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

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

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

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

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

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

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

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

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

  2. আপনার অ্যাপে, Identity Toolkit SDK-তে কল করার পরিবর্তে FirebaseUI-তে কল করুন।