Firebase-এর মাধ্যমে যাচাই করার জন্য আপনি Firebase Authentication ব্যবহার করে সাময়িক বেনামী অ্যাকাউন্ট তৈরি ও ব্যবহার করতে পারবেন। এইসব অস্থায়ী বেনামী অ্যাকাউন্ট ব্যবহার করে এমন ব্যবহারকারীদের অনুমতি দেওয়া যেতে পারে যারা এখনও আপনার অ্যাপে সাইন-আপ করেননি, যাতে তারা নিরাপত্তা সংক্রান্ত নিয়মের মাধ্যমে সুরক্ষিত ডেটা নিয়ে কাজ করতে পারেন। কোনও পরিচয় গোপন রাখা ব্যবহারকারী আপনার অ্যাপে সাইন-আপ করার সিদ্ধান্ত নিলে, আপনি পরিচয় গোপন রাখা অ্যাকাউন্টের সাথে তার সাইন-ইন ক্রেডেনশিয়াল লিঙ্ক করতে পারবেন যাতে ভবিষ্যতের সেশনে তিনি সুরক্ষিত ডেটা নিয়ে কাজ চালিয়ে যেতে পারেন।
শুরু করার আগে
- আপনি আগে থেকে না করে থাকলে, আপনার Android প্রোজেক্টে Firebase যোগ করুন।
-
আপনার মডিউল (অ্যাপ-লেভেল) Gradle ফাইলে
(সাধারণত
<project>/<app-module>/build.gradle.ktsবা<project>/<app-module>/build.gradle), Android-এর জন্য Firebase Authentication লাইব্রেরির ডিপেন্ডেন্সি যোগ করুন। লাইব্রেরি ভার্সনিং নিয়ন্ত্রণ করতে আমরা Firebase Android BoM ব্যবহার করার সাজেশন দিই।dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:35.1.0")) // Add the dependency for the Firebase Authentication library // When using the BoM, you don't specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-auth") }
Firebase Android BoM ব্যবহার করে, আপনার অ্যাপ সবসময় Firebase Android লাইব্রেরির মানানসই ভার্সন ব্যবহার করবে।
(বিকল্প) BoM ব্যবহার না করে Firebase লাইব্রেরি ডিপেন্ডেন্সি যোগ করুন
আপনি Firebase BoM ব্যবহার না করার সিদ্ধান্ত নিলে, আপনাকে অবশ্যই প্রতিটি Firebase লাইব্রেরি ভার্সন এর ডিপেন্ডেন্সি লাইনে উল্লেখ করতে হবে।
মনে রাখবেন, আপনার অ্যাপে একাধিক Firebase লাইব্রেরি ব্যবহার করলে, আমরা লাইব্রেরি ভার্সন ম্যানেজ করার জন্য BoM ব্যবহার করার জন্য বিশেষভাবে সাজেস্ট করি, যা নিশ্চিত করে যে সব ভার্সন মানানসই।
dependencies { // Add the dependency for the Firebase Authentication library // When NOT using the BoM, you must specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-auth:25.0.0") }
- আপনি এখনও Firebase প্রোজেক্টের সাথে অ্যাপ কানেক্ট না করে থাকলে, Firebase কনসোল থেকে তা করুন।
-
পরিচয় গোপন রেখে যাচাইকরণ চালু করুন:
- Firebase কনসোলে, নিরাপত্তা > যাচাইকরণ বিকল্পে যান।
- সাইন-ইন পদ্ধতি ট্যাবে, বেনামী সাইন-ইন প্রদানকারী চালু করুন।
- ঐচ্ছিক: আপনি যদি নিজের প্রোজেক্ট Firebase Authentication with Identity Platform-এ আপগ্রেড করে থাকেন, তাহলে আপনি অটোমেটিক ক্লিন-আপ চালু করতে পারবেন। আপনি এই সেটিং চালু করলে, ৩০ দিনের বেশি পুরনো বেনামী অ্যাকাউন্ট অটোমেটিক মুছে যাবে। যেসব প্রোজেক্টে অটোমেটিক ক্লিন-আপ চালু করা আছে, সেগুলিতে ব্যবহারের সীমা বা বিলিং কোটার ক্ষেত্রে বেনামী যাচাইকরণ আর গণনা করা হবে না। অটোমেটিক ক্লিন-আপ দেখুন।
Firebase-এর মাধ্যমে পরিচয় গোপন রেখে যাচাইকরণ করুন
সাইন-আউট করা কোনও ব্যবহারকারী যদি অ্যাপের এমন কোনও ফিচার ব্যবহার করেন যার জন্য Firebase-এর মাধ্যমে যাচাইকরণ প্রয়োজন, তাহলে নিম্নলিখিত ধাপগুলি সম্পূর্ণ করে ব্যবহারকারীকে পরিচয় গোপন রেখে সাইন-ইন করান:
- আপনার অ্যাক্টিভিটির
onCreateপদ্ধতিতে,FirebaseAuthঅবজেক্টের শেয়ার করা ইনস্ট্যান্স পান:Kotlin
private lateinit var auth: FirebaseAuth // ... // Initialize Firebase Auth auth = Firebase.auth
Java
private FirebaseAuth mAuth; // ... // Initialize Firebase Auth mAuth = FirebaseAuth.getInstance();
- আপনার অ্যাক্টিভিটি শুরু করার সময়, ব্যবহারকারী বর্তমানে সাইন-ইন করে আছেন কিনা তা চেক করুন:
Kotlin
public override fun onStart() { super.onStart() // Check if user is signed in (non-null) and update UI accordingly. val currentUser = auth.currentUser updateUI(currentUser) }
Java
@Override public void onStart() { super.onStart(); // Check if user is signed in (non-null) and update UI accordingly. FirebaseUser currentUser = mAuth.getCurrentUser(); updateUI(currentUser); }
- সবশেষে, বেনামী ব্যবহারকারী হিসেবে সাইন-ইন করতে
signInAnonymously-এ কল করুন:সাইন-ইন সফল হলে, ব্যবহারকারীর অ্যাকাউন্ট ডেটা পেতে আপনিKotlin
auth.signInAnonymously() .addOnCompleteListener(this) { task -> if (task.isSuccessful) { // Sign in success, update UI with the signed-in user's information Log.d(TAG, "signInAnonymously:success") val user = auth.currentUser updateUI(user) } else { // If sign in fails, display a message to the user. Log.w(TAG, "signInAnonymously:failure", task.exception) Toast.makeText( baseContext, "Authentication failed.", Toast.LENGTH_SHORT, ).show() updateUI(null) } }
Java
mAuth.signInAnonymously() .addOnCompleteListener(this, new OnCompleteListener<AuthResult>() { @Override public void onComplete(@NonNull Task<AuthResult> task) { if (task.isSuccessful()) { // Sign in success, update UI with the signed-in user's information Log.d(TAG, "signInAnonymously:success"); FirebaseUser user = mAuth.getCurrentUser(); updateUI(user); } else { // If sign in fails, display a message to the user. Log.w(TAG, "signInAnonymously:failure", task.getException()); Toast.makeText(AnonymousAuthActivity.this, "Authentication failed.", Toast.LENGTH_SHORT).show(); updateUI(null); } } });
getCurrentUserপদ্ধতি ব্যবহার করতে পারবেন।
কোনও বেনামী অ্যাকাউন্টকে স্থায়ী অ্যাকাউন্টে পরিবর্তন করা
কোনও অজ্ঞাতপরিচয় ব্যবহারকারী আপনার অ্যাপে সাইন-আপ করলে, আপনি হয়ত তাকে নতুন অ্যাকাউন্ট দিয়ে কাজ চালিয়ে যাওয়ার অনুমতি দিতে চাইবেন—যেমন, সাইন-আপ করার আগে ব্যবহারকারী তার শপিং কার্টে যেসব আইটেম যোগ করেছিলেন, সেগুলি আপনি হয়ত তার নতুন অ্যাকাউন্টের শপিং কার্টে উপলভ্য করতে চাইবেন। এটি করতে, নিম্নলিখিত ধাপগুলি সম্পূর্ণ করুন:
- ব্যবহারকারী সাইন-আপ করলে, ব্যবহারকারীর
প্রমাণীকরণ প্রদানকারীর জন্য সাইন-ইন ফ্লো সম্পূর্ণ করুন, তবে
FirebaseAuth.signInWithপদ্ধতির একটি কল করা অন্তর্ভুক্ত নয়। যেমন, ব্যবহারকারীর Google ID টোকেন, Facebook অ্যাক্সেস টোকেন বা ইমেল আইডি ও পাসওয়ার্ড পাওয়া। নতুন যাচাইকরণ প্রদানকারীর জন্য
AuthCredentialপান:Google সাইন-ইন
Kotlin
val credential = GoogleAuthProvider.getCredential(googleIdToken, null)
Java
AuthCredential credential = GoogleAuthProvider.getCredential(googleIdToken, null);
Facebook লগ-ইন
Kotlin
val credential = FacebookAuthProvider.getCredential(token.token)
Java
AuthCredential credential = FacebookAuthProvider.getCredential(token.getToken());
ইমেল-পাসওয়ার্ড সাইন-ইন
Kotlin
val credential = EmailAuthProvider.getCredential(email, password)
Java
AuthCredential credential = EmailAuthProvider.getCredential(email, password);
সাইন-ইন করা ব্যবহারকারীর
linkWithCredentialপদ্ধতিতেAuthCredentialঅবজেক্ট পাস করুন:Kotlin
auth.currentUser!!.linkWithCredential(credential) .addOnCompleteListener(this) { task -> if (task.isSuccessful) { Log.d(TAG, "linkWithCredential:success") val user = task.result?.user updateUI(user) } else { Log.w(TAG, "linkWithCredential:failure", task.exception) Toast.makeText( baseContext, "Authentication failed.", Toast.LENGTH_SHORT, ).show() updateUI(null) } }
Java
mAuth.getCurrentUser().linkWithCredential(credential) .addOnCompleteListener(this, new OnCompleteListener<AuthResult>() { @Override public void onComplete(@NonNull Task<AuthResult> task) { if (task.isSuccessful()) { Log.d(TAG, "linkWithCredential:success"); FirebaseUser user = task.getResult().getUser(); updateUI(user); } else { Log.w(TAG, "linkWithCredential:failure", task.getException()); Toast.makeText(AnonymousAuthActivity.this, "Authentication failed.", Toast.LENGTH_SHORT).show(); updateUI(null); } } });
linkWithCredential-এ কল করা সফল হলে, ব্যবহারকারীর নতুন অ্যাকাউন্ট
বেনামী অ্যাকাউন্টের Firebase ডেটা অ্যাক্সেস করতে পারবে।
অটোমেটিক ক্লিন-আপ
আপনি যদি নিজের প্রোজেক্ট Firebase Authentication with Identity Platform-এ আপগ্রেড করে থাকেন, তাহলে Firebase কনসোলে অটোমেটিক ক্লিন-আপ চালু করতে পারবেন। এই ফিচার চালু করলে, আপনি Firebase-কে ৩০ দিনের বেশি পুরনো বেনামী অ্যাকাউন্ট অটোমেটিক মুছে ফেলার অনুমতি দেন। অটোমেটিক ক্লিন-আপ চালু থাকা প্রোজেক্টে, পরিচয় গোপন রেখে যাচাইকরণ করা হলে তা ব্যবহারের সীমা বা বিলিং কোটায় গণনা করা হবে না।
- অটোমেটিক ক্লিন-আপ চালু করার পরে তৈরি করা যেকোনও বেনামী অ্যাকাউন্ট, তৈরি করার ৩০ দিন পরে যেকোনও সময় অটোমেটিক মুছে ফেলা হতে পারে।
- অটোমেটিক ক্লিন-আপ চালু করার ৩০ দিন পরে, আগে থেকে থাকা বেনামী অ্যাকাউন্টগুলি অটোমেটিক মুছে ফেলার জন্য উপযুক্ত হবে।
- আপনি অটোমেটিক ক্লিন-আপ বন্ধ করে দিলে, মুছে ফেলার জন্য শিডিউল করা যেকোনও বেনামী অ্যাকাউন্ট মুছে ফেলার জন্য শিডিউল করা থাকবে।
- আপনি যদি কোনও বেনামী অ্যাকাউন্টকে কোনও সাইন-ইন পদ্ধতির সাথে লিঙ্ক করে "আপগ্রেড" করেন, তাহলে অ্যাকাউন্টটি অটোমেটিক মুছে যাবে না।
এই ফিচার চালু করার আগে কতজন ব্যবহারকারী প্রভাবিত হবেন তা দেখতে চাইলে এবং আপনার প্রোজেক্ট Firebase Authentication with Identity Platform-এ আপগ্রেড করে থাকলে, আপনি Cloud
Logging-এ is_anon-এর মাধ্যমে ফিল্টার করতে পারবেন।
পরবর্তী ধাপ
এখন ব্যবহারকারীরা Firebase-এর মাধ্যমে যাচাই করতে পারবেন, আপনি Firebase নিয়ম ব্যবহার করে আপনার Firebase ডেটাবেসে তাদের ডেটা অ্যাক্সেস নিয়ন্ত্রণ করতে পারবেন।