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

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

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

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

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

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

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

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

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

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

  • ফায়ারবেসের সবকিছুর অ্যাক্সেস

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

  • আপডেট করা UI

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

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

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

  • নতুন SDK

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

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

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

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

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

সার্ভার সাইডের পার্থক্য

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

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

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

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

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

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

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

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

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

    ফায়ারবেস পুরোনো ইমেল ঠিকানায় একটি বাতিলকরণ ইমেল পাঠিয়ে ইমেল ঠিকানা পরিবর্তনের বিষয়টি নিশ্চিত করে, যেখানে পরিবর্তনটি পূর্বাবস্থায় ফিরিয়ে আনার জন্য একটি লিঙ্ক থাকে।

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

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

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

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

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

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

  • UI উইজেট

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

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

  • অধিবেশন এবং স্থানান্তর

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

শুরু করার আগে

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

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

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

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

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

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

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

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

    1. আপনি npm ব্যবহার করে Node.js অ্যাডমিন 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')
      });
      

এরপর, আপনার অ্যাপের প্ল্যাটফর্মের জন্য মাইগ্রেশন ধাপগুলো সম্পূর্ণ করুন: অ্যান্ড্রয়েড , আইওএস , ওয়েব

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

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

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

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

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

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

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

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

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

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

    এই উইজেটটি ব্যবহারকারীদের ইমেল ঠিকানা ও পাসওয়ার্ড পরিবর্তন করতে অথবা আইডেন্টিটি প্রোভাইডার থেকে তাদের অ্যাকাউন্ট আনলিঙ্ক করার জন্য একটি ইউজার ইন্টারফেস (UI) প্রদান করে। এটি বর্তমানে নির্মাণাধীন রয়েছে।

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

    সাইন-ইন বাটন এবং ইউজার কার্ডের মতো উইজেটগুলো এখন আর দেওয়া হয় না। ফায়ারবেস অথেনটিকেশন এপিআই (Firebase Authentication API) ব্যবহার করে এগুলো খুব সহজেই তৈরি করা যায়।

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

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

  • কোন oobActionUrl নেই

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

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

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

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

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

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

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

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

ধাপ ২: আপনার 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. আপনার অ্যাপ থেকে আইডেন্টিটি টুলকিট এসডিকে (Identity Toolkit SDK) সরিয়ে ফেলুন।

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

    1. আইডেন্টিটি প্ল্যাটফর্মে সফলভাবে সাইন ইন করার পর, firebase.auth().currentUser.getToken() কল করে একটি আইডি টোকেন সংগ্রহ করুন।

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

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

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

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

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

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

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

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

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

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

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

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

  3. কনফিগারেশন ফাইলটি আপনার অ্যান্ড্রয়েড অ্যাপ মডিউলের রুট ডিরেক্টরিতে কপি করুন। এই কনফিগারেশন ফাইলে প্রজেক্ট এবং গুগল 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-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.1'
    

ধাপ ২: আইডেন্টিটি টুলকিট এসডিকে সরিয়ে ফেলুন

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

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

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

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

আইওএস

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

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

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

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

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

ধাপ ২: আইডেন্টিটি টুলকিট এসডিকে সরিয়ে ফেলুন

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

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

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

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