Google Identity Toolkit-এর নতুন ভার্সন Identity Platform এবং Firebase Authentication হিসেবে রিলিজ করা হয়েছে। এখন থেকে, Identity Toolkit-এ ফিচার সংক্রান্ত কাজ বন্ধ করা হবে; সব নতুন ফিচার ডেভেলপমেন্ট Identity Platform এবং Firebase Authentication-এ করা হবে। আমরা Identity Toolkit ডেভেলপারদের যত তাড়াতাড়ি সম্ভব এই প্ল্যাটফর্মগুলিতে চলে যেতে উৎসাহিত করি।
নতুন বৈশিষ্ট্যাদি
Identity Platform-এ Google Identity Toolkit-এর তুলনায় ইতিমধ্যেই উল্লেখযোগ্য ফিচার এনহ্যান্সমেন্ট রয়েছে:
নতুন অ্যাডমিন কনসোল
Identity Platform-এ একটি নতুন ডেভেলপার কনসোল আছে যা আপনাকে ব্যবহারকারীদের দেখতে, পরিবর্তন করতে এবং মুছে ফেলতে দেয়; এটি আপনার সাইন-ইন এবং সাইন-আপ ফ্লো ডিবাগ করতে সাহায্য করতে পারে। এছাড়াও, কনসোল আপনাকে যাচাইকরণ পদ্ধতি কনফিগার করতে এবং ইমেল টেমপ্লেট কাস্টমাইজ করতে দেয়।
যাচাইকরণের নতুন পদ্ধতি
Identity Platform, SAML ও OIDC-এর মতো এন্টারপ্রাইজ ফেডারেশন স্ট্যান্ডার্ডকে সাপোর্ট করে, যা আপনাকে SaaS অ্যাপ ও পরিষেবা স্কেল করতে সাহায্য করে। এছাড়াও, Identity Platform GitHub, Microsoft, Yahoo এবং আরও অনেক কিছুর মতো পরিষেবা প্রদানকারীদের জন্য সহায়তা অফার করে। আপনি কোনও ব্যবহারকারীকে কোনও সাইন-ইন বা সাইন-আপ প্রক্রিয়ার মধ্য দিয়ে যেতে না বলে একটি অনন্য ব্যবহারকারী আইডি তৈরি করতে বেনামী সাইন-ইন ব্যবহার করতে পারেন; এটি আপনাকে একজন নিয়মিত ব্যবহারকারীর মতো যাচাইকৃত API কল করতে দেয়। ব্যবহারকারী অ্যাকাউন্টের জন্য সাইন-আপ করার সিদ্ধান্ত নিলে, সব অ্যাক্টিভিটি একই ব্যবহারকারীর আইডির সাথে সংরক্ষিত থাকে। সার্ভার সাইড শপিং কার্ট বা অন্যান্য অ্যাপ্লিকেশনের মতো পরিস্থিতিতে এটি মূল্যবান যেখানে আপনি ব্যবহারকারীকে সাইন-আপ ফ্লোতে পাঠানোর আগে তার সাথে এনগেজ হতে চান।
পরিষেবা লেভেল এগ্রিমেন্ট ও ক্লাউড সাপোর্টের মাধ্যমে আত্মবিশ্বাসের সাথে স্কেল করুন
Identity Platform বিশ্বস্ত Google পরিকাঠামোর উপর তৈরি করা হয়েছে এবং এটি পরিষেবা লেভেল এগ্রিমেন্ট এবং Google Cloud থেকে সহায়তা প্রদান করে। এর অর্থ হল, আপনি আত্মবিশ্বাসের সাথে আপনার পরিষেবা স্কেল করতে পারবেন এবং আপনার প্রয়োজনীয় স্থিতিস্থাপকতা, উপলভ্যতা এবং স্কেলেবিলিটি প্রদান করার জন্য Google-এর উপর নির্ভর করতে পারবেন।
Firebase-এর সব কিছুতে অ্যাক্সেস
Firebase হল একটি মোবাইল প্ল্যাটফর্ম যা আপনাকে দ্রুত হাই-কোয়ালিটি অ্যাপ ডেভেলপ করতে, ব্যবহারকারীর সংখ্যা বাড়াতে এবং আরও বেশি অর্থ উপার্জন করতে সাহায্য করে। Firebase-এ পরিপূরক ফিচার আছে যা আপনি নিজের প্রয়োজন অনুযায়ী মিশিয়ে ব্যবহার করতে পারেন এবং এতে নিম্নলিখিত বিষয়ের জন্য পরিকাঠামো আছে: মোবাইল অ্যানালিটিক্স, ক্লাউড মেসেজিং, রিয়েল-টাইম ডেটাবেস, ফাইল স্টোরেজ, স্ট্যাটিক হোস্টিং, রিমোট কনফিগারেশন, মোবাইল ক্র্যাশ রিপোর্টিং এবং Android টেস্টিং।
আপডেট করা UI
Google-এর লেটেস্ট UX রিসার্চের উপর ভিত্তি করে আমরা UI ফ্লো সম্পূর্ণভাবে নতুন করে তৈরি করেছি। এর মধ্যে পাসওয়ার্ড ফিরিয়ে আনা, অ্যাকাউন্ট লিঙ্ক করা, নতুন/আগে থেকে থাকা অ্যাকাউন্ট ডিসঅ্যাম্বিগুয়েশন ফ্লো অন্তর্ভুক্ত থাকে, যেগুলি কোড ও ডিবাগ করতে প্রায়ই অনেক সময় লাগে। এটি Android-এ পাসওয়ার্ডের জন্য Smart Lock ইন্টিগ্রেট করে, যা অংশগ্রহণকারী অ্যাপ-এর জন্য সাইন-ইন ও সাইন-আপ কনভার্সন উল্লেখযোগ্যভাবে উন্নত করেছে। এছাড়াও, আপনার অ্যাপ্লিকেশনের সাথে ম্যাচ করার জন্য এটি সহজে থিম পরিবর্তন করার সুবিধা দেয় এবং সর্বাধিক কাস্টমাইজ করার জন্য, Android এবং iOS ভার্সন ওপেন সোর্স করা হয়েছে।
সহজ সার্ভার সেট-আপ
Identity Toolkit-এর মাধ্যমে আমরা দেখেছি যে অনেক ডেভেলপার ইমেল ফিরিয়ে আনার ফ্লো প্রয়োগ না করার সিদ্ধান্ত নিয়েছেন, যার ফলে তাদের ব্যবহারকারীরা পাসওয়ার্ড ভুলে গেলে অ্যাকাউন্ট ফিরিয়ে আনা অসম্ভব হয়ে পড়ে। Identity Platform ব্যবহারকারীকে ইমেল যাচাইকরণ, পাসওয়ার্ড রিসেট এবং পাসওয়ার্ড পরিবর্তন সংক্রান্ত মেসেজ পাঠাতে পারে এবং আপনার ব্যবহারকারীদের জন্য টেক্সট সহজেই কাস্টমাইজ করা যেতে পারে। এছাড়াও, রিডাইরেক্ট হোস্ট করা এবং পাসওয়ার্ড পরিবর্তন করার অপারেশন সম্পূর্ণ করার জন্য আপনাকে আর UI উইজেট হোস্ট করতে হবে না।
নতুন SDK
Identity Toolkit-এর সব সার্ভার API এখন আমাদের প্রতিটি ক্লায়েন্ট লাইব্রেরির (Android, iOS, ওয়েব) সাথে নেটিভভাবে উপলভ্য। ডেভেলপাররা পুরনো ও নতুন ব্যবহারকারীদের সাইন-ইন ও সাইন-আপ করাতে, ব্যবহারকারীর প্রপার্টি অ্যাক্সেস করতে, অ্যাকাউন্ট লিঙ্ক, আপডেট ও মুছে ফেলতে, পাসওয়ার্ড রিসেট করতে এবং আরও অনেক কিছু করতে পারবেন, যার জন্য কোনও নির্দিষ্ট UI-এর সাথে যুক্ত থাকতে হবে না। আপনি চাইলে, এই API-এর উপরে নিজের সম্পূর্ণ সাইন-ইন ফ্লো ও অভিজ্ঞতা ম্যানুয়ালি তৈরি করতে পারবেন।
মোবাইল অ্যাপের জন্য সেশন ম্যানেজমেন্ট
Identity Toolkit-এর মাধ্যমে, অ্যাপগুলি Identity Toolkit থেকে প্রাথমিক যাচাইকরণ ইভেন্টের উপর ভিত্তি করে তাদের নিজস্ব সেশন স্টেট তৈরি করেছে। Identity Platform একটি ব্যাকএন্ড পরিষেবা ব্যবহার করে যা যাচাইকরণ ইভেন্ট থেকে তৈরি করা রিফ্রেশ টোকেন নেয় এবং Android, iOS ও JavaScript-এর জন্য এক ঘণ্টা দীর্ঘ অ্যাক্সেস টোকেনের জন্য এটি এক্সচেঞ্জ করে। কোনও ব্যবহারকারী তার পাসওয়ার্ড পরিবর্তন করলে, রিফ্রেশ টোকেন আর নতুন অ্যাক্সেস টোকেন তৈরি করতে পারবে না, এর ফলে ব্যবহারকারী সেই ডিভাইসে আবার যাচাই না করা পর্যন্ত অ্যাক্সেস বন্ধ হয়ে যাবে।
ফিচারের পার্থক্য
Identity Toolkit-এর কিছু ফিচার বর্তমানে Identity Platform-এ উপলভ্য নেই, অন্যান্য ফিচার নতুন করে ডিজাইন করা হয়েছে এবং সেগুলি ভিন্নভাবে কাজ করে। এইসব ফিচার আপনার অ্যাপের জন্য গুরুত্বপূর্ণ হলে, আপনি হয়ত এখনই মাইগ্রেট করতে চাইবেন না। অনেক ক্ষেত্রে, এইসব ফিচার আপনার অ্যাপের জন্য গুরুত্বপূর্ণ নাও হতে পারে অথবা সহজ ফলব্যাক থাকতে পারে যা আপনাকে মাইগ্রেশন চালিয়ে যেতে সাহায্য করবে।
সার্ভার সাইডের পার্থক্য
অন্তর্নিহিত REST API, অ্যাকাউন্ট যাচাইকরণ লজিক ও প্রাথমিক ব্যবহারকারীর ডেটাবেস সহ মূল Identity Toolkit পরিষেবায় সামান্য আপডেট করা হয়েছে। তবে, কিছু ফিচার এবং আপনার পরিষেবায় Identity Platform ইন্টিগ্রেট করার পদ্ধতি পরিবর্তন করা হয়েছে।
পরিচয় প্রদানকারী
Paypal এবং AOL কাজ করে না। এইসব IDP-এর অ্যাকাউন্ট আছে এমন ব্যবহারকারীরা এখনও পাসওয়ার্ড ফিরিয়ে আনার ফ্লো ব্যবহার করে আপনার অ্যাপ্লিকেশনে সাইন-ইন করতে এবং তাদের অ্যাকাউন্টের জন্য পাসওয়ার্ড সেট-আপ করতে পারবেন।
সার্ভার লাইব্রেরি
বর্তমানে, Java, Node.js, Python, Go এবং C#-এর জন্য অ্যাডমিন SDK উপলভ্য।
অ্যাকাউন্ট ম্যানেজমেন্ট সংক্রান্ত ইমেল
পাসওয়ার্ড রিসেট, ইমেল যাচাইকরণ এবং ইমেল পরিবর্তন সংক্রান্ত মেসেজ Firebase বা ডেভেলপারের নিজস্ব মেল সার্ভার থেকে সম্পন্ন করা যেতে পারে। বর্তমানে, ইমেল টেমপ্লেট UI থেকে শুধুমাত্র সীমিত কাস্টমাইজেশন অফার করে, তবে Admin SDK-এর মাধ্যমে আরও কাস্টমাইজ করা যেতে পারে
ইমেল আইডি পরিবর্তন করার কনফার্মেশন
Identity Toolkit-এ, কোনও ব্যবহারকারী তার ইমেল আইডি পরিবর্তন করার সিদ্ধান্ত নিলে, এটি নতুন আইডিতে একটি ইমেল পাঠায় যাতে ইমেল আইডি পরিবর্তন করার ফ্লো চালিয়ে যাওয়ার জন্য একটি লিঙ্ক থাকে।
Firebase, পুরনো ইমেল আইডিতে পরিবর্তন বাতিল করার লিঙ্ক সহ একটি প্রত্যাহার ইমেল পাঠিয়ে ইমেল আইডি পরিবর্তন কনফার্ম করে।
IDP রোল-আউট
Identity Toolkit-এর কাছে আপনার সাইন-ইন সিস্টেমে ধীরে ধীরে পরিচয় প্রদানকারী যোগ করার ক্ষমতা ছিল, যাতে আপনি আপনার সহায়তা অনুরোধের উপর প্রভাব নিয়ে পরীক্ষা করতে পারেন। Firebase Authentication থেকে এই ফিচার সরিয়ে দেওয়া হয়েছে।
ক্লায়েন্ট সাইড সংক্রান্ত পার্থক্য
Identity প্ল্যাটফর্মে, Google Identity Toolkit-এর মাধ্যমে প্রদান করা ফিচার দুটি কম্পোনেন্টে বিভক্ত করা হয়েছে:
ক্লায়েন্ট ও সার্ভার SDK
Identity Platform-এ, Identity Toolkit-এর REST API-এর মাধ্যমে প্রদান করা কার্যকারিতা Android, iOS এবং JavaScript-এর জন্য উপলভ্য ক্লায়েন্ট SDK-তে প্যাকেজ করা হয়েছে। আপনি SDK ব্যবহার করে ব্যবহারকারীদের সাইন-ইন ও সাইন-আপ করাতে পারবেন; ব্যবহারকারীর প্রোফাইল তথ্য অ্যাক্সেস করতে পারবেন; অ্যাকাউন্ট লিঙ্ক, আপডেট ও মুছে দিতে পারবেন; এবং REST কলের মাধ্যমে ব্যাক-এন্ড পরিষেবার সাথে যোগাযোগ করার পরিবর্তে ক্লায়েন্ট SDK ব্যবহার করে পাসওয়ার্ড রিসেট করতে পারবেন।
UI উইজেট
সাইন-ইন, সাইন-আপ, পাসওয়ার্ড ফিরিয়ে আনা এবং অ্যাকাউন্ট লিঙ্ক করার মতো UI ফ্লো ক্লায়েন্ট SDK ব্যবহার করে আবার তৈরি করা হয়েছে এবং লগ-ইন উইজেট হিসেবে প্যাকেজ করা হয়েছে। এগুলি iOS, Android এবং ওয়েব-এর জন্য ওপেন সোর্স SDK হিসেবে উপলভ্য এবং Identity Toolkit-এর মাধ্যমে সম্ভব নয় এমন উপায়ে ফ্লো সম্পূর্ণ কাস্টমাইজ করার সুবিধা দেয়।
অন্যান্য পার্থক্যের মধ্যে রয়েছে:
সেশন ও মাইগ্রেশন
Identity Toolkit এবং Identity Platform-এ সেশন আলাদাভাবে ম্যানেজ করা হয় বলে, SDK আপগ্রেড করার সময় আপনার ব্যবহারকারীর বর্তমান সেশন বন্ধ হয়ে যাবে এবং আপনার ব্যবহারকারীকে আবার সাইন-ইন করতে হবে।
শুরু করার আগে
Identity Toolkit থেকে Identity Platform-এ মাইগ্রেট করার আগে, আপনাকে অবশ্যই:
Cloud Console খুলে আপনার Identity Toolkit প্রোজেক্ট বেছে নিন।
Marketplace থেকে, Identity Platform ব্রাউজ করুন এবং 'Identity Platform চালু করুন' বিকল্প বেছে নিন
পরিষেবার অ্যাকাউন্ট-এর পৃষ্ঠা খুলুন। এখানে আপনি Identity Toolkit-এর জন্য আগে কনফিগার করা পরিষেবা অ্যাকাউন্ট দেখতে পাবেন।
পরিষেবা অ্যাকাউন্টের পাশে, more_vert > কী তৈরি করুন বিকল্পে ক্লিক করুন। তারপর, ব্যক্তিগত কী তৈরি করুন ডায়ালগে, কী-এর ধরন JSON হিসেবে সেট করে তৈরি করুন বিকল্পে ক্লিক করুন। আপনার পরিষেবা অ্যাকাউন্টের ক্রেডেনশিয়াল সহ JSON ফাইল আপনার জন্য ডাউনলোড করা হয়েছে। পরবর্তী ধাপে SDK শুরু করার জন্য আপনার এটি প্রয়োজন হবে।
Cloud কনসোলে ফিরে যান। প্রদানকারী বিভাগে, 'ইমেল/পাসওয়ার্ড' সাইন-ইন পদ্ধতির মধ্যে, ইমেল টেমপ্লেট পৃষ্ঠা খুলুন। তারপর আপনি নিজের অ্যাপের টেমপ্লেট কাস্টমাইজ করতে পারবেন।
Identity Toolkit-এ, ব্যবহারকারীরা পাসওয়ার্ড রিসেট করলে, ইমেল আইডি পরিবর্তন করলে বা তাদের ইমেল আইডি যাচাই করলে, আপনাকে Identity Toolkit সার্ভার থেকে একটি OOB কোড পেতে হবে এবং তারপরে ইমেলের মাধ্যমে ব্যবহারকারীদের কোডটি পাঠাতে হবে। Identity Platform আপনার কনফিগার করা টেমপ্লেটের ভিত্তিতে ইমেল পাঠায়, এর জন্য অতিরিক্ত কোনও অ্যাকশন নিতে হয় না।
ঐচ্ছিক: আপনার সার্ভারে Identity Platform পরিষেবা অ্যাক্সেস করতে হলে, Firebase SDK ইনস্টল করুন।
আপনি
npm-এর মাধ্যমে Node.js Admin SDK ইনস্টল করতে পারবেন:$ npm init $ npm install --save firebase-adminআপনার কোডে, আপনি এগুলি ব্যবহার করে Firebase অ্যাক্সেস করতে পারবেন:
var admin = require('firebase-admin'); var app = admin.initializeApp({ credential: admin.credential.cert('path/to/serviceAccountCredentials.json') });
এরপর, আপনার অ্যাপের প্ল্যাটফর্মের জন্য মাইগ্রেশন ধাপ সম্পূর্ণ করুন: Android, iOS, ওয়েব।
সার্ভার ও জাভাস্ক্রিপ্ট
উল্লেখযোগ্য পরিবর্তন
Identity Toolkit থেকে Identity Platform-এর ওয়েব ইমপ্লিমেন্টেশনে আরও অনেক পার্থক্য আছে।
ওয়েব সেশন ম্যানেজমেন্ট
আগে, কোনও ব্যবহারকারী Identity Toolkit উইজেট ব্যবহার করে যাচাইকরণ করলে, ব্যবহারকারীর জন্য একটি কুকি সেট করা হত যা সেশন বুটস্ট্র্যাপ করার জন্য ব্যবহার করা হত। এই কুকির মেয়াদ দুই সপ্তাহ এবং ব্যবহারকারীকে পাসওয়ার্ড ও ইমেল আইডি পরিবর্তন করার জন্য অ্যাকাউন্ট ম্যানেজমেন্ট উইজেট ব্যবহার করার অনুমতি দিতে এটি ব্যবহার করা হয়েছিল। কিছু সাইট এই কুকি ব্যবহার করে সাইটের অন্যান্য সব পৃষ্ঠার অনুরোধ যাচাই করে। অন্যান্য সাইট তাদের ফ্রেমওয়ার্কের কুকি ম্যানেজমেন্ট সিস্টেমের মাধ্যমে নিজস্ব কুকি তৈরি করতে কুকি ব্যবহার করেছে।
Identity প্ল্যাটফর্ম ক্লায়েন্ট SDK এখন Id টোকেন ম্যানেজ করে এবং সেশন ফ্রেশ রাখতে Identity প্ল্যাটফর্মের ব্যাকএন্ডের সাথে কাজ করে। অ্যাকাউন্টে গুরুত্বপূর্ণ পরিবর্তন (যেমন ব্যবহারকারীর পাসওয়ার্ড পরিবর্তন) হলে ব্যাকএন্ড সেশনের মেয়াদ শেষ করে দেয়। আইডি টোকেন অটোমেটিক ওয়েব ক্লায়েন্টে কুকি হিসেবে সেট করা হয় না এবং এর লাইফটাইম মাত্র এক ঘণ্টা। আপনি যদি শুধুমাত্র এক ঘণ্টার সেশন না চান, তাহলে আপনার সব পৃষ্ঠার অনুরোধ যাচাই করার জন্য কুকি হিসেবে ব্যবহার করার জন্য আইডি টোকেন উপযুক্ত নয়। পরিবর্তে, ব্যবহারকারী লগ-ইন করলে, আপনাকে লিসনার সেট-আপ করতে হবে, Id টোকেন পেতে হবে, টোকেন যাচাই করতে হবে এবং আপনার ফ্রেমওয়ার্কের কুকি ম্যানেজমেন্ট সিস্টেমের মাধ্যমে আপনার নিজস্ব কুকি তৈরি করতে হবে।
আপনার অ্যাপ্লিকেশনের নিরাপত্তা সংক্রান্ত প্রয়োজনের উপর ভিত্তি করে, আপনাকে কুকির সেশন লাইফটাইম সেট করতে হবে।
ওয়েব সাইন-ইন ফ্লো
আগে, ব্যবহারকারী কোন আইডেন্টিফায়ার ব্যবহার করতে চান তা জানার জন্য সাইন-ইন করার সময় ব্যবহারকারীকে
accountchooser.com-এ রিডাইরেক্ট করা হত। Identity Platform UI-এর ফ্লো এখন সাইন-ইন পদ্ধতির তালিকা দিয়ে শুরু হয়, যার মধ্যে ইমেল বিকল্পও রয়েছে যা ওয়েবের জন্যaccountchooser.com-এ যায় এবং Android-এ hintRequest API ব্যবহার করে। এছাড়াও, UI-তে ইমেল আইডি আর প্রয়োজন নেই। এটি বেনামী ব্যবহারকারী, কাস্টম অথ ব্যবহারকারী বা এমন পরিষেবা প্রদানকারীর ব্যবহারকারীদের সহায়তা করা সহজ করে তুলবে যেখানে ইমেল আইডির প্রয়োজন হয় না।অ্যাকাউন্ট ম্যানেজমেন্ট উইজেট
এই উইজেট ব্যবহারকারীদের ইমেল আইডি পরিবর্তন, পাসওয়ার্ড পরিবর্তন অথবা পরিচয় প্রদানকারীর থেকে তাদের অ্যাকাউন্ট আনলিঙ্ক করার জন্য UI প্রদান করে। বর্তমানে এটি তৈরি করা হচ্ছে।
সাইন-ইন বোতাম/উইজেট
সাইন-ইন বোতাম এবং ব্যবহারকারীর কার্ডের মতো উইজেট আর প্রদান করা হয় না। Firebase Authentication API ব্যবহার করে এগুলি খুব সহজেই তৈরি করা যায়।
signOutUrl নেই
আপনাকে
firebase.auth.signOut()-এ কল করতে হবে এবং কলব্যাক ম্যানেজ করতে হবে।oobActionUrl নেই
ইমেল পাঠানোর বিষয়টি এখন Identity Platform ম্যানেজ করে এবং এটি Firebase কনসোলে কনফিগার করা হয়।
CSS কাস্টমাইজেশন
UI উইজেট মেটেরিয়াল ডিজাইন লাইট স্টাইলিং ব্যবহার করে, যা ডায়নামিক পদ্ধতিতে মেটেরিয়াল ডিজাইন অ্যানিমেশন যোগ করে।
ধাপ ১: সার্ভার কোড পরিবর্তন করুন
আপনার সার্ভার যদি ওয়েব ব্যবহারকারীর সেশন ম্যানেজ করার জন্য আইডেন্টিটি টুলকিট টোকেনের (দুই সপ্তাহের জন্য বৈধ) উপর নির্ভর করে, তাহলে আপনাকে সার্ভারটি কনভার্ট করতে হবে যাতে এটি নিজস্ব সেশন কুকি ব্যবহার করতে পারে।
- Id টোকেন যাচাই করা এবং ব্যবহারকারীর জন্য সেশন কুকি সেট করার জন্য একটি এন্ডপয়েন্ট ইমপ্লিমেন্ট করুন। ক্লায়েন্ট অ্যাপ এই এন্ডপয়েন্টে Firebase ID টোকেন পাঠায়।
- ইনকামিং অনুরোধে আপনার নিজের সেশন কুকি থাকলে, আপনি ব্যবহারকারীকে যাচাই করা হয়েছে বলে বিবেচনা করতে পারেন। অন্যথায়, অনুরোধটি যাচাই করা হয়নি হিসেবে বিবেচনা করুন।
- আপনি যদি না চান যে আপনার কোনও ব্যবহারকারী তাদের বর্তমান লগ-ইন সেশন হারান, তাহলে আপনাকে সমস্ত আইডেন্টিটি টুলকিট টোকেনের মেয়াদ শেষ হওয়ার জন্য দুই সপ্তাহ অপেক্ষা করতে হবে, অথবা আপনার ওয়েব অ্যাপ্লিকেশনের জন্য ডুয়াল টোকেন যাচাইকরণও করতে হবে যেমন নিচে ৩ নম্বর ধাপে বর্ণনা করা হয়েছে।
এরপর, যেহেতু আইডি টোকেন Identity Toolkit টোকেনের থেকে আলাদা, তাই আপনাকে টোকেন যাচাইকরণের লজিক আপডেট করতে হবে। আপনার সার্ভারে অ্যাডমিন SDK ইনস্টল করুন; অথবা, আপনি যদি এমন কোনও ভাষা ব্যবহার করেন যা অ্যাডমিন SDK-তে কাজ করে না, তাহলে আপনার এনভায়রনমেন্টের জন্য একটি JWT টোকেন যাচাইকরণ লাইব্রেরি ডাউনলোড করুন এবং সঠিকভাবে টোকেন যাচাই করুন।
আপনি যখন প্রথমবার উপরের আপডেটগুলি করবেন, তখনও আপনার কাছে এমন কোড পাথ থাকতে পারে যা Identity Toolkit টোকেনের উপর নির্ভর করে। আপনার iOS বা Android অ্যাপ্লিকেশন থাকলে, নতুন কোড পাথ কাজ করার জন্য ব্যবহারকারীদের অ্যাপের নতুন ভার্সনে আপগ্রেড করতে হবে। আপনি যদি ব্যবহারকারীদের অ্যাপ আপডেট করার জন্য বাধ্য করতে না চান, তাহলে আপনি অতিরিক্ত সার্ভার যাচাইকরণ লজিক যোগ করতে পারেন যা টোকেন পরীক্ষা করে এবং টোকেন যাচাই করার জন্য Firebase SDK বা Identity Toolkit SDK ব্যবহার করতে হবে কিনা তা নির্ধারণ করে। আপনার কাছে শুধু ওয়েব অ্যাপ্লিকেশন থাকলে, নতুন সব যাচাইকরণের অনুরোধ Identity Platform-এ শিফট করা হবে এবং তাই আপনাকে শুধু Id টোকেন যাচাইকরণ পদ্ধতি ব্যবহার করতে হবে।
Web API রেফারেন্স দেখুন।
ধাপ ২: আপনার HTML আপডেট করুন
আপনার অ্যাপে ইনিশিয়ালাইজেশন কোড যোগ করুন:
- Cloud কনসোলে আপনার প্রোজেক্ট খুলুন।
- প্রদানকারী পৃষ্ঠায়, অ্যাপ্লিকেশন সেট-আপের বিবরণ বিকল্পে ক্লিক করুন। Identity Platform শুরু করে এমন একটি কোড স্নিপেট দেখানো হয়েছে।
- আপনার ওয়েব পেজে ইনিশিয়ালাইজেশন স্নিপেট কপি ও পেস্ট করুন।
আপনার অ্যাপে Authentication Widget যোগ করুন:
<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>আপনার অ্যাপ থেকে Identity Toolkit SDK সরিয়ে দিন।
সেশন ম্যানেজমেন্টের জন্য আপনি Identity Toolkit আইডি টোকেনের উপর নির্ভর করলে, আপনাকে ক্লায়েন্ট সাইডে নিম্নলিখিত পরিবর্তনগুলি করতে হবে:
Identity Platform-এ সফলভাবে সাইন-ইন করার পরে,
firebase.auth().currentUser.getToken()-এ কল করে আইডি টোকেন পান।ব্যাকএন্ড সার্ভারে আইডি টোকেন পাঠান, এটি যাচাই করুন এবং আপনার নিজস্ব সেশন কুকি ইস্যু করুন।
আপনার সার্ভারে সংবেদনশীল অপারেশন পারফর্ম করা বা যাচাই করা এডিট অনুরোধ পাঠানোর সময় শুধুমাত্র সেশন কুকির উপর নির্ভর করবেন না। আপনাকে অতিরিক্ত ক্রস-সাইট অনুরোধ সম্পর্কিত জালিয়াতি (CSRF) সুরক্ষা প্রদান করতে হবে।
আপনার ফ্রেমওয়ার্ক CSRF সুরক্ষা প্রদান না করলে, আক্রমণ আটকানোর একটি উপায় হল
getToken()-এর মাধ্যমে সাইন-ইন করা ব্যবহারকারীর জন্য একটি আইডি টোকেন পাওয়া এবং প্রতিটি অনুরোধের সাথে টোকেনটি অন্তর্ভুক্ত করা (সেশন কুকিও ডিফল্ট হিসেবে পাঠানো হবে)। তারপর আপনি সেশন কুকি চেক করার পাশাপাশি অ্যাডমিন SDK ব্যবহার করে সেই টোকেন যাচাই করবেন, যা আপনার ব্যাকএন্ড ফ্রেমওয়ার্ক সম্পূর্ণ করেছে। এর ফলে CSRF অ্যাটাক সফল হওয়া কঠিন হয়ে যাবে, কারণ আইডি টোকেন শুধুমাত্র ওয়েব স্টোরেজ ব্যবহার করে স্টোর করা হয় এবং কখনই কুকিতে স্টোর করা হয় না।Identity Toolkit টোকেন দুই সপ্তাহের জন্য বৈধ। আপনি হয়ত এমন টোকেন ইস্যু করা চালিয়ে যেতে চাইবেন যা দুই সপ্তাহ পর্যন্ত কাজ করে অথবা আপনার অ্যাপের নিরাপত্তা সংক্রান্ত প্রয়োজনীয়তার উপর ভিত্তি করে আপনি হয়ত এটি আরও বেশি বা কম সময়ের জন্য করতে চাইবেন। কোনও ব্যবহারকারী সাইন-আউট করলে, সেশন কুকি মুছে দিন।
ধাপ ৩: IDP রিডাইরেক্ট URL আপডেট করা
Cloud Console-এ, প্রোভাইডার বিভাগ খুলুন।
আপনার সমর্থন করা প্রতিটি ফেডারেটেড সাইন-ইন প্রদানকারীর জন্য, নিম্নলিখিত কাজগুলি করুন:
- সাইন-ইন প্রদানকারীর নামে ক্লিক করুন।
- OAuth রিডাইরেক্ট URI কপি করুন।
- সাইন-ইন প্রদানকারীর ডেভেলপার কনসোলে, OAuth রিডাইরেক্ট URI আপডেট করুন।
Android
ধাপ ১: Firebase-এর মাধ্যমে আপনার অ্যাপে আইডেন্টিটি প্ল্যাটফর্ম যোগ করা
Cloud Console খুলুন এবং আপনার Identity Toolkit প্রোজেক্ট বেছে নিন।
প্রোভাইডার পৃষ্ঠায়, অ্যাপ্লিকেশন সেট-আপের বিবরণ বিকল্পে ক্লিক করুন, Android ট্যাব বেছে নিন এবং তারপরে Firebase-এ শুরু করুন বিকল্পে ক্লিক করুন। 'Firebase যোগ করুন' ডায়ালগে, আপনার অ্যাপের প্যাকেজের নাম এবং সাইনিং সার্টিফিকেট ফিঙ্গারপ্রিন্ট প্রদান করুন এবং অ্যাপ যোগ করুন বিকল্পে ক্লিক করুন। তারপর
google-services.jsonকনফিগারেশন ফাইল আপনার কম্পিউটারে ডাউনলোড করা হয়।আপনার Android অ্যাপ মডিউল রুট ডিরেক্টরিতে কনফিগারেশন ফাইল কপি করুন। এই কনফিগারেশন ফাইলে প্রোজেক্ট এবং Google OAuth ক্লায়েন্ট সংক্রান্ত তথ্য থাকে।
আপনার প্রোজেক্ট-লেভেল
build.gradleফাইলে (<var>your-project</var>/build.gradle),defaultConfigবিভাগে আপনার অ্যাপের প্যাকেজের নাম উল্লেখ করুন:defaultConfig { ….. applicationId "com.your-app" }এছাড়াও, আপনার প্রোজেক্ট-লেভেল
build.gradleফাইলে, google-services প্লাগ-ইন অন্তর্ভুক্ত করতে একটি ডিপেন্ডেন্সি যোগ করুন:buildscript { dependencies { // Add this line classpath 'com.google.gms:google-services:3.0.0' } }আপনার অ্যাপের অ্যাপ-লেভেল
build.gradleফাইলে (<var>my-project</var>/<var>app-module</var>/build.gradle), Android Gradle প্লাগ-ইনের পরে নিম্নলিখিত লাইন যোগ করুন যাতে google-services প্লাগ-ইন চালু করা যায়:apply plugin: 'com.android.application' // Add this line apply plugin: 'com.google.gms.google-services'আপনার অ্যাপ্লিকেশন যাতে Firebase ব্যবহার করতে পারে সেই জন্য google-services প্লাগ-ইন
google-services.jsonফাইল ব্যবহার করে কনফিগার করে।এছাড়াও, অ্যাপ-লেভেল
build.gradleফাইলে, Firebase Authentication ডিপেন্ডেন্সি যোগ করুন:compile 'com.google.firebase:firebase-auth:25.0.0' compile 'com.google.android.gms:play-services-auth:22.0.0'
ধাপ ২: Identity Toolkit SDK সরিয়ে দিন
AndroidManifest.xmlফাইল থেকে Identity Toolkit কনফিগারেশন সরিয়ে দিন। এই তথ্যgoogle-service.jsonফাইলে অন্তর্ভুক্ত থাকে এবং google-services প্লাগ-ইন দ্বারা লোড করা হয়।- আপনার অ্যাপ থেকে Identity Toolkit SDK সরিয়ে দিন।
ধাপ ৩: আপনার অ্যাপে FirebaseUI যোগ করুন
আপনার অ্যাপে FirebaseUI Auth যোগ করুন।
আপনার অ্যাপে, FirebaseUI-তে কল করার মাধ্যমে Identity Toolkit SDK-তে কল করার সুবিধা পরিবর্তন করুন।
iOS
ধাপ ১: আপনার অ্যাপে Firebase যোগ করুন
এই কমান্ডগুলি রান করে আপনার অ্যাপে ক্লায়েন্ট SDK যোগ করুন:
$ cd your-project directory $ pod init $ pod 'Firebase'Cloud Console খুলুন এবং আপনার Identity Toolkit প্রোজেক্ট বেছে নিন।
প্রোভাইডার পৃষ্ঠায়, অ্যাপ্লিকেশন সেট-আপের বিবরণ বিকল্পে ক্লিক করুন, iOS ট্যাব বেছে নিন এবং তারপরে Firebase-এ শুরু করুন বিকল্পে ক্লিক করুন। Firebase যোগ করুন ডায়ালগে, আপনার অ্যাপের প্যাকেজের নাম এবং সাইনিং সার্টিফিকেট ফিঙ্গারপ্রিন্ট দিন এবং অ্যাপ যোগ করুন বিকল্পে ক্লিক করুন। তারপর
google-services.jsonকনফিগারেশন ফাইলটি আপনার কম্পিউটারে ডাউনলোড হয়ে যাবে। 'Firebase যোগ করুন' ডায়ালগে, আপনার অ্যাপের বান্ডিল আইডি ও App Store আইডি দিন এবং তারপরে অ্যাপ যোগ করুন বিকল্পে ক্লিক করুন। এরপরGoogleService-Info.plistকনফিগারেশন ফাইল আপনার কম্পিউটারে ডাউনলোড হয়ে যাবে। আপনার প্রোজেক্টে একাধিক বান্ডিল আইডি থাকলে, প্রতিটি বান্ডিল আইডি Firebase কনসোলে কানেক্ট করতে হবে যাতে এটির নিজস্বGoogleService-Info.plistফাইল থাকতে পারে।আপনার Xcode প্রোজেক্টের রুটে কনফিগারেশন ফাইল কপি করুন এবং এটি সব টার্গেটে যোগ করুন।
ধাপ ২: Identity Toolkit SDK সরিয়ে দিন
- আপনার অ্যাপের Podfile থেকে
GoogleIdentityToolkitসরান। pod installকমান্ড রান করুন।
ধাপ ৩: আপনার অ্যাপে FirebaseUI যোগ করুন
আপনার অ্যাপে FirebaseUI Auth যোগ করুন।
আপনার অ্যাপে, FirebaseUI-তে কল করার মাধ্যমে Identity Toolkit SDK-তে কল করার সুবিধা পরিবর্তন করুন।