Admin Auth API-এর সাথে প্রাথমিক পরিচয়

Firebase Admin SDK আপনাকে নিজের সার্ভারকে Firebase Authentication-এর সাথে ইন্টিগ্রেট করতে দেয়। আপনার ব্যবহারকারীদের ম্যানেজ করতে বা যাচাইকরণ টোকেন ম্যানেজ করতে আপনি Firebase Admin SDK ব্যবহার করতে পারবেন। আপনি এই কাজটি করতে চাইবেন, তার একাধিক কারণ রয়েছে:

ব্যবহারকারী ম্যানেজমেন্ট

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

কাস্টম যাচাইকরণ

আপনি Authentication-এর সাথে এক্সটার্নাল ব্যবহারকারী সিস্টেম ইন্টিগ্রেট করতে পারবেন। যেমন, আপনার হয়ত আগে থেকেই ব্যবহারকারীর ডেটাবেস আছে অথবা আপনি হয়ত এমন কোনও থার্ড-পার্টি পরিচয় প্রদানকারীর সাথে ইন্টিগ্রেট করতে চান যা Firebase Authentication নেটিভভাবে কাজ করে না।

এটি করতে, আপনি ব্যবহারকারীকে শনাক্তকারী স্বেচ্ছাচারী দাবি সহ কাস্টম টোকেন তৈরি করতে পারেন। এইসব কাস্টম টোকেন তারপরে ক্লায়েন্ট অ্যাপ্লিকেশনে Firebase Authentication পরিষেবায় সাইন-ইন করতে এবং টোকেনের দাবি দ্বারা বর্ণিত পরিচয় অনুমান করতে ব্যবহার করা যেতে পারে। তারপর, Cloud Storage-এর মতো অন্যান্য Authentication পরিষেবা অ্যাক্সেস করার সময় এই পরিচয় ব্যবহার করা হবে।

পরিচয় যাচাইকরণ

Firebase Authentication মূলত আপনার অ্যাপের ব্যবহারকারীদের শনাক্ত করতে ব্যবহার করা হয় যাতে Cloud Storage-এর মতো অন্যান্য পরিষেবাতে অ্যাক্সেস সীমাবদ্ধ করা যায়। এছাড়াও, আপনার নিজস্ব সার্ভারে এইসব ব্যবহারকারীকে শনাক্ত করতে আপনি পরিষেবা ব্যবহার করতে পারবেন। এর ফলে আপনি Firebase Authentication-এর মাধ্যমে সাইন-ইন করা ব্যবহারকারীদের হয়ে নিরাপদে সার্ভার-সাইড লজিক পারফর্ম করতে পারেন।

এটি করতে, Firebase Authentication-এ সাইন-ইন করা কোনও ক্লায়েন্ট অ্যাপ্লিকেশন থেকে আপনি একটি আইডি টোকেন পেতে পারেন এবং আপনার সার্ভারে পাঠানো অনুরোধে টোকেনটি যোগ করতে পারেন। আপনার সার্ভার তারপরে আইডি টোকেন যাচাই করে এবং ব্যবহারকারীকে শনাক্ত করে এমন দাবিগুলি এক্সট্র্যাক্ট করে (এর মধ্যে তার uid, তিনি যে পরিচয় প্রদানকারীর সাথে লগ-ইন করেছেন ইত্যাদি)। এইসব পরিচয় সংক্রান্ত তথ্য আপনার সার্ভার ব্যবহারকারীর হয়ে অ্যাকশন নেওয়ার জন্য ব্যবহার করতে পারে।

Firebase Admin SDK আপনাকে ব্যবহারকারী ম্যানেজ করা, কাস্টম টোকেন তৈরি করা এবং আইডি টোকেন যাচাই করার মাধ্যমে উপরে উল্লিখিত প্রমাণীকরণ টাস্ক সম্পূর্ণ করার পদ্ধতি প্রদান করে।

কাস্টম ব্যবহারকারীর দাবি

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

ব্যবহারকারী ম্যানেজমেন্ট

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

ব্যবহারকারীদের ম্যানেজ করা

কাস্টম টোকেন তৈরি করা

কাস্টম টোকেন তৈরি করার মূল উদ্দেশ্য হল, ব্যবহারকারীদের এক্সটার্নাল বা লিগ্যাসি যাচাইকরণ পদ্ধতির মাধ্যমে যাচাইকরণ করার অনুমতি দেওয়া। এটি এমন একটি হতে পারে যা আপনি কন্ট্রোল করেন, যেমন আপনার LDAP সার্ভার অথবা থার্ড-পার্টি OAuth প্রদানকারী যা Authentication নেটিভভাবে কাজ করে না, যেমন Instagram বা LinkedIn.

Firebase Admin SDK-এ কাস্টম টোকেন তৈরি করার বিল্ট-ইন পদ্ধতি আছে। এছাড়াও, আপনি থার্ড-পার্টি JWT লাইব্রেরি ব্যবহার করে যেকোনও ভাষায় প্রোগ্রাম্যাটিক উপায়ে কাস্টম টোকেন তৈরি করতে পারবেন।

আপনার সার্ভারকে একটি অনন্য শনাক্তকারী (uid) সহ কাস্টম টোকেন তৈরি করতে হবে এবং সেই টোকেনটি ক্লায়েন্ট অ্যাপে পাস করতে হবে, যা এটি ব্যবহার করে Authentication-এ সাইন-ইন করবে। কোড স্যাম্পেল ও কাস্টম টোকেন তৈরি করার প্রসেস সম্পর্কে আরও বিস্তারিত জানতে কাস্টম টোকেন তৈরি করুন লিঙ্কে যান।

কাস্টম টোকেন তৈরি করা

আইডি টোকেন যাচাইকরণ

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

Firebase Admin SDK-এ ID টোকেন যাচাই করার জন্য বিল্ট-ইন পদ্ধতি আছে। এছাড়াও, আপনি থার্ড-পার্টি JWT লাইব্রেরি ব্যবহার করে যেকোনও ভাষায় প্রোগ্রাম্যাটিকভাবে আইডি টোকেন যাচাই করতে পারেন। আইডি টোকেন যাচাইকরণ প্রসেস সম্পর্কে আরও বিবরণ ও কোডের নমুনা পেতে আইডি টোকেন যাচাই করুন লিঙ্কে দেখুন।

আইডি টোকেন যাচাই করা

ব্যবহারকারীর কাস্টম দাবি

Firebase Admin SDK আপনাকে ব্যবহারকারীর অ্যাকাউন্টে কাস্টম অ্যাট্রিবিউট সেট করতে দেয়। কাস্টম ব্যবহারকারীর দাবি সহ, আপনি ব্যবহারকারীদের বিভিন্ন লেভেলের অ্যাক্সেস (ভূমিকা) দিতে পারবেন, যা পরে কোনও অ্যাপ্লিকেশনের নিরাপত্তা নিয়মে প্রয়োগ করা হয়।

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

কাস্টম দাবি সহ অ্যাক্সেস কন্ট্রোল করা