গুগল আইডেন্টিটি টুলকিট থেকে গুগল ক্লাউডের আইডেন্টিটি প্ল্যাটফর্মে স্থানান্তর করুন

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

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

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

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

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

  • প্রমাণীকরণের নতুন পদ্ধতি

    আইডেন্টিটি প্ল্যাটফর্ম SAML এবং OIDC এর মতো এন্টারপ্রাইজ ফেডারেশন স্ট্যান্ডার্ডগুলিকে সমর্থন করে, যা আপনাকে SaaS অ্যাপ এবং পরিষেবাগুলিকে স্কেল করতে সক্ষম করে। আইডেন্টিটি প্ল্যাটফর্ম GitHub, Microsoft, Yahoo এবং আরও অনেক প্রদানকারীদের জন্যও সহায়তা প্রদান করে। ব্যবহারকারীকে কোনও সাইন-ইন বা সাইন-আপ প্রক্রিয়ার মধ্য দিয়ে যেতে হবে না, আপনি একটি অনন্য ব্যবহারকারী আইডি তৈরি করতে বেনামী সাইন-ইন ব্যবহার করতে পারেন; এটি আপনাকে নিয়মিত ব্যবহারকারীর মতো প্রমাণিত API কল করতে দেয়। যখন ব্যবহারকারী একটি অ্যাকাউন্টের জন্য সাইন আপ করার সিদ্ধান্ত নেয়, তখন সমস্ত কার্যকলাপ একই ব্যবহারকারী আইডি দিয়ে সংরক্ষিত থাকে। এটি সার্ভার সাইড শপিং কার্ট বা অন্যান্য অ্যাপ্লিকেশনের মতো পরিস্থিতিতে মূল্যবান যেখানে আপনি সাইন-আপ প্রবাহের মাধ্যমে ব্যবহারকারীকে পাঠানোর আগে তাদের সাথে যুক্ত করতে চান।

  • পরিষেবা স্তর চুক্তি এবং ক্লাউড সাপোর্টের মাধ্যমে আত্মবিশ্বাসের সাথে স্কেল করুন

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

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

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

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

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

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

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

  • নতুন SDK গুলি

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • ক্লায়েন্ট এবং সার্ভার SDK গুলি

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

  • UI উইজেট

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

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

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

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

শুরু করার আগে

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

  1. ক্লাউড কনসোলটি খুলুন এবং আপনার আইডেন্টিটি টুলকিট প্রকল্পটি নির্বাচন করুন।

  2. মার্কেটপ্লেস থেকে, আইডেন্টিটি প্ল্যাটফর্ম ব্রাউজ করুন এবং 'আইডেন্টিটি প্ল্যাটফর্ম সক্ষম করুন' নির্বাচন করুন।

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

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

  5. ক্লাউড কনসোলে ফিরে যান। প্রোভাইডার বিভাগে, 'ইমেল/পাসওয়ার্ড' সাইন-ইন পদ্ধতিতে, ইমেল টেমপ্লেট পৃষ্ঠাটি খুলুন। এরপর আপনি আপনার অ্যাপের টেমপ্লেটগুলি কাস্টমাইজ করতে পারেন।

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

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

    1. আপনি npm ব্যবহার করে Node.js Admin SDK ইনস্টল করতে পারেন:

      $ 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 .

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • কোন oobActionUrl নেই

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

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

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

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

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

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

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

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

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

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

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

    <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.auth().currentUser.getToken() এ কল করে একটি আইডি টোকেন পান।

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

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

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

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

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

  1. ক্লাউড কনসোলে , প্রোভাইডার বিভাগটি খুলুন।

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

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

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

ধাপ ১: Firebase ব্যবহার করে আপনার অ্যাপে আইডেন্টিটি প্ল্যাটফর্ম যোগ করুন

  1. ক্লাউড কনসোল খুলুন, এবং আপনার আইডেন্টিটি টুলকিট প্রকল্পটি নির্বাচন করুন।

  2. প্রোভাইডার পৃষ্ঠায়, অ্যাপ্লিকেশন সেটআপের বিবরণ ক্লিক করুন, অ্যান্ড্রয়েড ট্যাবটি নির্বাচন করুন, এবং তারপরে ফায়ারবেসে শুরু করুন ক্লিক করুন। ফায়ারবেস যুক্ত করুন ডায়ালগে, আপনার অ্যাপের প্যাকেজ নাম এবং স্বাক্ষরকারী শংসাপত্রের ফিঙ্গারপ্রিন্ট প্রদান করুন এবং অ্যাপ যুক্ত করুন ক্লিক করুন। এরপর 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 প্লাগইন সক্ষম করতে Android Gradle প্লাগইনের পরে নিম্নলিখিত লাইনটি যোগ করুন:

    apply plugin: 'com.android.application'
    // Add this line
    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. নিম্নলিখিত কমান্ডগুলি চালিয়ে আপনার অ্যাপে ক্লায়েন্ট SDK যোগ করুন:

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

  3. প্রোভাইডার পৃষ্ঠায়, অ্যাপ্লিকেশন সেটআপের বিবরণ ক্লিক করুন, iOS ট্যাবটি নির্বাচন করুন, এবং তারপর Get Started in Firebase এ ক্লিক করুন। Add Firebase ডায়ালগে, আপনার অ্যাপের প্যাকেজ নাম এবং স্বাক্ষরকারী শংসাপত্রের ফিঙ্গারপ্রিন্ট প্রদান করুন এবং Add App এ ক্লিক করুন। এরপর google-services.json কনফিগারেশন ফাইলটি আপনার কম্পিউটারে ডাউনলোড করা হবে। 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-তে কল করুন।