Firebase से पुष्टि करने की सुविधा का इस्तेमाल करके, अपने उपयोगकर्ताओं को उनके ईमेल पते और पासवर्ड का इस्तेमाल करके Firebase की पुष्टि करने की अनुमति दी जा सकती है. साथ ही, इससे ऐप्लिकेशन के पासवर्ड पर आधारित खातों को मैनेज किया जा सकता है.
शुरू करने से पहले
अगर आपने पहले से Firebase को नहीं जोड़ा है, तो अपने Android प्रोजेक्ट में Firebase जोड़ें.
- अगर आपने अभी तक अपने ऐप्लिकेशन को Firebase प्रोजेक्ट से कनेक्ट नहीं किया है, तो Firebase कंसोल से ऐसा करें.
- ईमेल/पासवर्ड से साइन-इन करने की सुविधा चालू करें:
- Firebase कंसोल में, पुष्टि करें सेक्शन खोलें.
- साइन इन करने का तरीका टैब पर, साइन इन करने का ईमेल/पासवर्ड तरीका चालू करें और सेव करें पर क्लिक करें.
अपने मॉड्यूल (ऐप्लिकेशन-लेवल) की Gradle फ़ाइल (आम तौर पर,
<project>/<app-module>/build.gradle.kts
या<project>/<app-module>/build.gradle
) में, Android के लिए Firebase से पुष्टि करने वाली लाइब्रेरी के लिए डिपेंडेंसी जोड़ें. लाइब्रेरी के वर्शन को कंट्रोल करने के लिए, हम Firebase Android BoM का इस्तेमाल करने का सुझाव देते हैं.dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:33.1.2")) // 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:23.0.0") }
पासवर्ड पर आधारित खाता बनाना
पासवर्ड वाला नया उपयोगकर्ता खाता बनाने के लिए, अपने ऐप्लिकेशन की साइन-इन गतिविधि में इन चरणों को पूरा करें:
- अपनी साइन-अप गतिविधि के
onCreate
तरीके में,FirebaseAuth
ऑब्जेक्ट का शेयर किया गया इंस्टेंस पाएं:Kotlin+KTX
private lateinit var auth: FirebaseAuth // ... // Initialize Firebase Auth auth = Firebase.auth
Java
private FirebaseAuth mAuth; // ... // Initialize Firebase Auth mAuth = FirebaseAuth.getInstance();
- अपनी गतिविधि शुरू करते समय, यह देखें कि उपयोगकर्ता ने अभी साइन इन किया हुआ है या नहीं:
Kotlin+KTX
public override fun onStart() { super.onStart() // Check if user is signed in (non-null) and update UI accordingly. val currentUser = auth.currentUser if (currentUser != null) { reload() } }
Java
@Override public void onStart() { super.onStart(); // Check if user is signed in (non-null) and update UI accordingly. FirebaseUser currentUser = mAuth.getCurrentUser(); if(currentUser != null){ reload(); } }
- जब कोई नया उपयोगकर्ता आपके ऐप्लिकेशन के साइन-अप फ़ॉर्म का इस्तेमाल करके साइन अप करता है, तो अपने ऐप्लिकेशन के लिए खाते की पुष्टि करने के सभी नए चरण पूरे करें. जैसे, यह पुष्टि करना कि नए खाते का पासवर्ड सही तरीके से लिखा गया है और वह पासवर्ड के लिए बनी आपकी ज़रूरी शर्तों के मुताबिक है.
- नए उपयोगकर्ता का ईमेल पता और पासवर्ड
createUserWithEmailAndPassword
को भेजकर एक नया खाता बनाएं:Kotlin+KTX
auth.createUserWithEmailAndPassword(email, password) .addOnCompleteListener(this) { task -> if (task.isSuccessful) { // Sign in success, update UI with the signed-in user's information Log.d(TAG, "createUserWithEmail:success") val user = auth.currentUser updateUI(user) } else { // If sign in fails, display a message to the user. Log.w(TAG, "createUserWithEmail:failure", task.exception) Toast.makeText( baseContext, "Authentication failed.", Toast.LENGTH_SHORT, ).show() updateUI(null) } }
Java
mAuth.createUserWithEmailAndPassword(email, password) .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, "createUserWithEmail:success"); FirebaseUser user = mAuth.getCurrentUser(); updateUI(user); } else { // If sign in fails, display a message to the user. Log.w(TAG, "createUserWithEmail:failure", task.getException()); Toast.makeText(EmailPasswordActivity.this, "Authentication failed.", Toast.LENGTH_SHORT).show(); updateUI(null); } } });
getCurrentUser
तरीके का इस्तेमाल किया जा सकता है.
ईमेल पते और पासवर्ड वाले उपयोगकर्ता खाते में साइन इन करें
पासवर्ड से उपयोगकर्ता में साइन इन करने के चरण, नया खाता बनाने के चरणों जैसे ही हैं. अपने ऐप्लिकेशन की साइन-इन गतिविधि में, ये काम करें:
- अपनी साइन इन गतिविधि के
onCreate
तरीके में,FirebaseAuth
ऑब्जेक्ट का शेयर किया गया इंस्टेंस पाएं:Kotlin+KTX
private lateinit var auth: FirebaseAuth // ... // Initialize Firebase Auth auth = Firebase.auth
Java
private FirebaseAuth mAuth; // ... // Initialize Firebase Auth mAuth = FirebaseAuth.getInstance();
- अपनी गतिविधि शुरू करते समय, यह देखें कि उपयोगकर्ता ने अभी साइन इन किया हुआ है या नहीं:
Kotlin+KTX
public override fun onStart() { super.onStart() // Check if user is signed in (non-null) and update UI accordingly. val currentUser = auth.currentUser if (currentUser != null) { reload() } }
Java
@Override public void onStart() { super.onStart(); // Check if user is signed in (non-null) and update UI accordingly. FirebaseUser currentUser = mAuth.getCurrentUser(); if(currentUser != null){ reload(); } }
- जब कोई उपयोगकर्ता आपके ऐप्लिकेशन में साइन इन करता है, तो उपयोगकर्ता के ईमेल पते और पासवर्ड को
signInWithEmailAndPassword
को भेजें:Kotlin+KTX
auth.signInWithEmailAndPassword(email, password) .addOnCompleteListener(this) { task -> if (task.isSuccessful) { // Sign in success, update UI with the signed-in user's information Log.d(TAG, "signInWithEmail:success") val user = auth.currentUser updateUI(user) } else { // If sign in fails, display a message to the user. Log.w(TAG, "signInWithEmail:failure", task.exception) Toast.makeText( baseContext, "Authentication failed.", Toast.LENGTH_SHORT, ).show() updateUI(null) } }
Java
mAuth.signInWithEmailAndPassword(email, password) .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, "signInWithEmail:success"); FirebaseUser user = mAuth.getCurrentUser(); updateUI(user); } else { // If sign in fails, display a message to the user. Log.w(TAG, "signInWithEmail:failure", task.getException()); Toast.makeText(EmailPasswordActivity.this, "Authentication failed.", Toast.LENGTH_SHORT).show(); updateUI(null); } } });
FirebaseUser
का इस्तेमाल करें.
सुझाया गया: ईमेल गिनती सुरक्षा चालू करें
Firebase से पुष्टि करने के कुछ तरीके, ईमेल पतों को पैरामीटर के तौर पर लेते हैं. अगर किसी ईमेल पते को रजिस्टर नहीं किया गया है (उदाहरण के लिए, ईमेल पते और पासवर्ड से साइन इन करते समय) या इस्तेमाल न होने पर (उदाहरण के लिए, उपयोगकर्ता का ईमेल पता बदलते समय) तब रजिस्टर किया जाता है, जब उसे पैरामीटर के तौर पर इस्तेमाल किया जाता है. यह लोगों को खास तरीकों का सुझाव देने में मददगार हो सकता है. हालांकि, नुकसान पहुंचाने वाले लोग या ग्रुप आपके उपयोगकर्ताओं के रजिस्टर किए गए ईमेल पते खोजकर भी इसका गलत इस्तेमाल कर सकते हैं.
इस जोखिम को कम करने के लिए, हमारा सुझाव है कि आप Google Cloud gcloud
टूल का इस्तेमाल करके, अपने प्रोजेक्ट के लिए ईमेल की गिनती करने की सुरक्षा चालू करें. ध्यान दें कि इस सुविधा को चालू करने से, Firebase से पुष्टि करने की सुविधा में गड़बड़ी की शिकायत करने का तरीका बदल जाता है: पक्का करें कि आपका ऐप्लिकेशन ज़्यादा खास गड़बड़ियों पर निर्भर न रहें.
अगले चरण
जब कोई उपयोगकर्ता पहली बार साइन इन करता है, तो एक नया उपयोगकर्ता खाता बनाया जाता है और उपयोगकर्ता के क्रेडेंशियल से लिंक किया जाता है. इन क्रेडेंशियल में उपयोगकर्ता नाम और पासवर्ड, फ़ोन नंबर या पुष्टि करने वाली सेवा की जानकारी शामिल है. यह नया खाता आपके Firebase प्रोजेक्ट के हिस्से के तौर पर सेव किया जाता है. साथ ही, इसका इस्तेमाल आपके प्रोजेक्ट के हर ऐप्लिकेशन में किसी उपयोगकर्ता की पहचान करने के लिए किया जा सकता है. भले ही, उपयोगकर्ता ने किसी भी तरह से साइन इन किया हो.
-
अपने ऐप्लिकेशन में,
FirebaseUser
ऑब्जेक्ट से उपयोगकर्ता की प्रोफ़ाइल की बुनियादी जानकारी ली जा सकती है. उपयोगकर्ताओं को मैनेज करें देखें. अपने Firebase रीयल टाइम डेटाबेस और Cloud Storage के सुरक्षा नियमों में,
auth
वैरिएबल से साइन-इन किए हुए उपयोगकर्ता का यूनीक यूज़र आईडी पाया जा सकता है और उसका इस्तेमाल करके यह कंट्रोल किया जा सकता है कि उपयोगकर्ता कौनसा डेटा ऐक्सेस कर सकता है.
आप पुष्टि करने वाली सेवा देने वाली कंपनियों के क्रेडेंशियल को किसी मौजूदा उपयोगकर्ता खाते से लिंक करके, उपयोगकर्ताओं को अपने ऐप्लिकेशन में साइन इन करने की अनुमति दे सकते हैं.
किसी उपयोगकर्ता को साइन आउट करने के लिए,
signOut
पर कॉल करें:
Kotlin+KTX
Firebase.auth.signOut()
Java
FirebaseAuth.getInstance().signOut();