Firebase-এর সাথে যাচাইকরণের জন্য আপনি Firebase Authentication ব্যবহার করে সাময়িক বেনামী অ্যাকাউন্ট তৈরি ও ব্যবহার করতে পারেন। এইসব সাময়িক বেনামী অ্যাকাউন্ট ব্যবহার করে যেসব ব্যবহারকারী এখনও আপনার অ্যাপে সাইন-আপ করেননি তাদের নিরাপত্তা সংক্রান্ত নিয়মের মাধ্যমে সুরক্ষিত ডেটা নিয়ে কাজ করার অনুমতি দেওয়া যেতে পারে। কোনও বেনামী ব্যবহারকারী আপনার অ্যাপে সাইন-আপ করার সিদ্ধান্ত নিলে, আপনি বেনামী অ্যাকাউন্টের সাথে তার সাইন-ইন ক্রেডেনশিয়াল লিঙ্ক করতে পারবেন যাতে তিনি ভবিষ্যতে সেশনে সুরক্ষিত ডেটা নিয়ে কাজ চালিয়ে যেতে পারেন।
শুরু করার আগে
- আপনার JavaScript প্রোজেক্টে Firebase যোগ করুন।
- আপনি এখনও Firebase প্রোজেক্টের সাথে অ্যাপ কানেক্ট না করে থাকলে, এটি Firebase কনসোল থেকে করুন।
-
পরিচয় গোপন রেখে যাচাইকরণ চালু করুন:
- Firebase কনসোলে গিয়ে নিরাপত্তা > যাচাইকরণ বিকল্পে যান।
- সাইন-ইন পদ্ধতি ট্যাবে, অনামিকা সাইন-ইন প্রদানকারী চালু করুন।
- ঐচ্ছিক: আপনার প্রোজেক্ট Firebase Authentication with Identity Platform-এ আপগ্রেড করে থাকলে, আপনি অটোমেটিক ক্লিন-আপ চালু করতে পারবেন। আপনি এই সেটিং চালু করলে, ৩০ দিনের বেশি পুরনো অপরিচিত অ্যাকাউন্ট অটোমেটিক মুছে যাবে। অটোমেটিক ক্লিন-আপ চালু করা প্রোজেক্টে, অ্যাননিমাস অথেন্টিকেশন আর ব্যবহারের সীমা বা বিলিং কোটার মধ্যে গণনা করা হবে না। দেখুন অটোমেটিক ক্লিন-আপ।
পরিচয় গোপন রেখে Firebase-এর মাধ্যমে যাচাইকরণ করা
সাইন-আউট করা কোনও ব্যবহারকারী Firebase-এর মাধ্যমে যাচাইকরণ প্রয়োজন এমন কোনও অ্যাপ ফিচার ব্যবহার করলে, নিম্নলিখিত ধাপগুলি সম্পূর্ণ করে ব্যবহারকারীকে বেনামে সাইন-ইন করান:
signInAnonymouslyমেথড কল করুন:এছাড়াও, আপনি এখানে ভুল ধরতে ও সমাধান করতে পারবেন। সমস্যার কোডের তালিকা দেখতে Auth রেফারেন্স ডকুমেন্ট দেখুন।Web
import { getAuth, signInAnonymously } from "firebase/auth"; const auth = getAuth(); signInAnonymously(auth) .then(() => { // Signed in.. }) .catch((error) => { const errorCode = error.code; const errorMessage = error.message; // ... });
Web
firebase.auth().signInAnonymously() .then(() => { // Signed in.. }) .catch((error) => { var errorCode = error.code; var errorMessage = error.message; // ... });
signInAnonymouslyপদ্ধতি কোনও সমস্যা ছাড়াই সম্পূর্ণ হলে,onAuthStateChanged-এ রেজিস্টার করা পর্যবেক্ষক ট্রিগার হবে এবং আপনিUserঅবজেক্ট থেকে বেনামী ব্যবহারকারীর অ্যাকাউন্ট ডেটা পাবেন:Web
import { getAuth, onAuthStateChanged } from "firebase/auth"; const auth = getAuth(); onAuthStateChanged(auth, (user) => { if (user) { // User is signed in, see docs for a list of available properties // https://firebase.google.com/docs/reference/js/auth.user const uid = user.uid; // ... } else { // User is signed out // ... } });
Web
firebase.auth().onAuthStateChanged((user) => { if (user) { // User is signed in, see docs for a list of available properties // https://firebase.google.com/docs/reference/js/v8/firebase.User var uid = user.uid; // ... } else { // User is signed out // ... } });
অনামonymous অ্যাকাউন্টকে স্থায়ী অ্যাকাউন্টে পরিবর্তন করা
কোনও বেনামী ব্যবহারকারী আপনার অ্যাপে সাইন-আপ করলে, আপনি হয়ত তাকে তার নতুন অ্যাকাউন্টের মাধ্যমে কাজ চালিয়ে যেতে দিতে চাইবেন—যেমন, আপনি হয়ত সাইন-আপ করার আগে ব্যবহারকারী যেসব আইটেম তার শপিং কার্টে যোগ করেছেন সেগুলি তার নতুন অ্যাকাউন্টের শপিং কার্টে উপলভ্য করতে চাইবেন। এটি করতে, নিম্নলিখিত ধাপগুলি সম্পূর্ণ করুন:
- ব্যবহারকারী সাইন-আপ করলে, ব্যবহারকারীর
যাচাইকরণ প্রদানকারীর জন্য সাইন-ইন ফ্লো সম্পূর্ণ করুন, তবে এর মধ্যে
Auth.signInWithপদ্ধতিগুলির একটি কল করা অন্তর্ভুক্ত নয়। যেমন, ব্যবহারকারীর Google আইডি টোকেন, Facebook অ্যাক্সেস টোকেন অথবা ইমেল আইডি ও পাসওয়ার্ড পান। নতুন যাচাইকরণ পরিষেবা প্রদানকারীর জন্য
AuthCredentialপান:Google সাইন-ইন
Web
import { GoogleAuthProvider } from "firebase/auth"; const credential = GoogleAuthProvider.credential( googleUser.getAuthResponse().id_token);
Web
var credential = firebase.auth.GoogleAuthProvider.credential( googleUser.getAuthResponse().id_token);
Facebook লগ-ইন
Web
import { FacebookAuthProvider } from "firebase/auth"; const credential = FacebookAuthProvider.credential( response.authResponse.accessToken);
Web
var credential = firebase.auth.FacebookAuthProvider.credential( response.authResponse.accessToken);
ইমেল-পাসওয়ার্ড দিয়ে সাইন-ইন করা
Web
import { EmailAuthProvider } from "firebase/auth"; const credential = EmailAuthProvider.credential(email, password);
Web
var credential = firebase.auth.EmailAuthProvider.credential(email, password);
সাইন-ইন করা ব্যবহারকারীর
linkপদ্ধতিতেAuthCredentialঅবজেক্ট পাস করুন:Web
import { getAuth, linkWithCredential } from "firebase/auth"; const auth = getAuth(); linkWithCredential(auth.currentUser, credential) .then((usercred) => { const user = usercred.user; console.log("Anonymous account successfully upgraded", user); }).catch((error) => { console.log("Error upgrading anonymous account", error); });
Web
auth.currentUser.linkWithCredential(credential) .then((usercred) => { var user = usercred.user; console.log("Anonymous account successfully upgraded", user); }).catch((error) => { console.log("Error upgrading anonymous account", error); });
link কল করা সফল হলে, ব্যবহারকারীর নতুন অ্যাকাউন্ট
অনামনিমাস অ্যাকাউন্টের Firebase ডেটা অ্যাক্সেস করতে পারবে।
অটোমেটিক ক্লিন-আপ
আপনার প্রোজেক্ট Firebase Authentication with Identity Platform-এ আপগ্রেড করে থাকলে, আপনি Firebase কনসোলে অটোমেটিক ক্লিন-আপ চালু করতে পারবেন। এই ফিচার চালু করলে, আপনি Firebase-কে ৩০ দিনের বেশি পুরনো অনামিকা অ্যাকাউন্ট অটোমেটিক মুছে দেওয়ার অনুমতি দেন। অটোমেটিক পরিষ্কার করার সুবিধা চালু থাকা প্রোজেক্টে, পরিচয় গোপন রেখে করা যাচাইকরণ ব্যবহারের সীমা বা বিলিং কোটার মধ্যে গণনা করা হবে না।
- অটোমেটিক ক্লিন-আপ চালু করার পরে তৈরি করা যেকোনও বেনামী অ্যাকাউন্ট তৈরি করার ৩০ দিন পরে যেকোনও সময় অটোমেটিক মুছে ফেলা হতে পারে।
- অটোমেটিক ক্লিন-আপ চালু করার ৩০ দিন পরে আগে থেকে থাকা বেনামী অ্যাকাউন্ট অটোমেটিক মুছে দেওয়ার জন্য উপযুক্ত হবে।
- আপনি অটোমেটিক ক্লিন-আপ বন্ধ করে দিলে, মুছে ফেলার জন্য শিডিউল করা যেকোনও বেনামী অ্যাকাউন্ট মুছে ফেলার জন্য শিডিউল করা থাকবে।
- আপনি কোনও সাইন-ইন পদ্ধতির সাথে লিঙ্ক করে কোনও বেনামী অ্যাকাউন্ট "আপগ্রেড" করলে, অ্যাকাউন্টটি অটোমেটিক মুছে যাবে না।
এই ফিচার চালু করার আগে কতজন ব্যবহারকারী প্রভাবিত হবেন তা দেখতে চাইলে এবং আপনি যদি নিজের প্রোজেক্ট Firebase Authentication with Identity Platform-এ আপগ্রেড করে থাকেন, তাহলে আপনি
is_anon-এর মাধ্যমে ক্লাউড
লগিং ফিল্টার করতে পারবেন।
পরবর্তী ধাপ
যেহেতু ব্যবহারকারীরা এখন Firebase-এর মাধ্যমে যাচাই করিয়ে নিতে পারবেন, তাই আপনি Firebase নিয়ম ব্যবহার করে আপনার Firebase ডেটাবেসে ডেটা অ্যাক্সেস করার ব্যাপারে নিয়ন্ত্রণ করতে পারবেন।