पहचान छिपाकर Firebase की मदद से पुष्टि करें

Firebase से पुष्टि करने की सुविधा का इस्तेमाल करके, अस्थायी तौर पर गुमनाम खाते बनाए और इस्तेमाल किए जा सकते हैं. इनकी मदद से, Firebase से पुष्टि की जा सकती है. इन अस्थायी तौर पर गुमनाम खातों का इस्तेमाल करके, उन उपयोगकर्ताओं को सुरक्षा नियमों से सुरक्षित डेटा के साथ काम करने की अनुमति दी जा सकती है जिन्होंने अब तक आपके ऐप्लिकेशन के लिए साइन अप नहीं किया है. अगर कोई गुमनाम उपयोगकर्ता आपके ऐप्लिकेशन के लिए साइन अप करने का फ़ैसला लेता है, तो उसके साइन-इन क्रेडेंशियल को गुमनाम खाते से लिंक किया जा सकता है. इससे वह आने वाले समय में भी अपने सुरक्षित डेटा के साथ काम कर पाएगा.

शुरू करने से पहले

  1. अगर आपने अब तक ऐसा नहीं किया है, तो शुरू करने के लिए बनी गाइड में दिया गया तरीका अपनाएं.

  2. गुमनाम तरीके से साइन-इन करने की सुविधा चालू करें:

    1. Firebase कंसोल में, सुरक्षा > पुष्टि करना पर जाएं.

    2. साइन-इन करने का तरीका टैब में, गुमनाम तरीके से साइन-इन करने की सुविधा चालू करें.

    3. सेव करें पर क्लिक करें.

Firebase से गुमनाम तरीके से पुष्टि करना

जब कोई उपयोगकर्ता, साइन आउट करने के बाद किसी ऐसे ऐप्लिकेशन की सुविधा का इस्तेमाल करता है जिसके लिए Firebase से पुष्टि करना ज़रूरी है, तो signInAnonymously() को कॉल करके, उपयोगकर्ता को गुमनाम तरीके से साइन इन कराएं:

try {
  final userCredential =
      await FirebaseAuth.instance.signInAnonymously();
  print("Signed in with temporary account.");
} on FirebaseAuthException catch (e) {
  switch (e.code) {
    case "operation-not-allowed":
      print("Anonymous auth hasn't been enabled for this project.");
      break;
    default:
      print("Unknown error.");
  }
}

गुमनाम खाते को स्थायी खाते में बदलना

जब कोई गुमनाम उपयोगकर्ता आपके ऐप्लिकेशन के लिए साइन अप करता है, तो हो सकता है कि आप उसे अपने नए खाते से काम जारी रखने की अनुमति देना चाहें. उदाहरण के लिए, हो सकता है कि आप उपयोगकर्ता के साइन अप करने से पहले, उसकी शॉपिंग कार्ट में जोड़े गए आइटम को उसके नए खाते की शॉपिंग कार्ट में उपलब्ध कराना चाहें. ऐसा करने के लिए, यह तरीका अपनाएं:

  1. जब उपयोगकर्ता साइन अप करता है, तो उसके पुष्टि करने की सुविधा देने वाले प्लैटफ़ॉर्म के लिए, साइन-इन फ़्लो पूरा करें. हालांकि, signInWith- के किसी भी तरीके को कॉल न करें. उदाहरण के लिए, उपयोगकर्ता का Google आईडी टोकन, Facebook ऐक्सेस टोकन या ईमेल पता और पासवर्ड पाएं.

  2. पुष्टि करने की सुविधा देने वाले नए प्लैटफ़ॉर्म के लिए, Credential ऑब्जेक्ट पाएं:

    // Google Sign-in
    final credential = GoogleAuthProvider.credential(idToken: idToken);
    
    // Email and password sign-in
    final credential =
        EmailAuthProvider.credential(email: emailAddress, password: password);
    
    // Etc.
    
  3. साइन-इन करने वाले उपयोगकर्ता के linkWithCredential() तरीके में, Credential ऑब्जेक्ट पास करें:

    try {
      final userCredential = await FirebaseAuth.instance.currentUser
          ?.linkWithCredential(credential);
    } on FirebaseAuthException catch (e) {
      switch (e.code) {
        case "provider-already-linked":
          print("The provider has already been linked to the user.");
          break;
        case "invalid-credential":
          print("The provider's credential is not valid.");
          break;
        case "credential-already-in-use":
          print("The account corresponding to the credential already exists, "
              "or is already linked to a Firebase User.");
          break;
        // See the API reference for the full list of error codes.
        default:
          print("Unknown error.");
      }
      ```
    

linkWithCredential() को कॉल करने के बाद, उपयोगकर्ता का नया खाता, गुमनाम खाते के Firebase डेटा को ऐक्सेस कर सकता है.

अगले चरण

जब कोई उपयोगकर्ता नया खाता बनाता है, तो यह खाता आपके Firebase प्रोजेक्ट के हिस्से के तौर पर सेव हो जाता है. इसका इस्तेमाल, आपके प्रोजेक्ट में मौजूद हर ऐप्लिकेशन में किसी उपयोगकर्ता की पहचान करने के लिए किया जा सकता है. भले ही, उपयोगकर्ता ने साइन-इन करने के लिए किसी भी तरीके का इस्तेमाल किया हो.

आपके ऐप्लिकेशन में, User ऑब्जेक्ट से उपयोगकर्ता की बुनियादी प्रोफ़ाइल की जानकारी पाई जा सकती है. उपयोगकर्ताओं को मैनेज करने का तरीका देखें.

Firebase के रीयलटाइम डेटाबेस और Cloud Storage के सुरक्षा नियमों में, auth वैरिएबल से साइन-इन करने वाले उपयोगकर्ता की यूनीक आईडी पाई जा सकती है. इसका इस्तेमाल, यह कंट्रोल करने के लिए किया जा सकता है कि कोई उपयोगकर्ता कौनसा डेटा ऐक्सेस कर सकता है.

पुष्टि करने की सुविधा देने वाले प्लैटफ़ॉर्म के क्रेडेंशियल को किसी मौजूदा उपयोगकर्ता खाते से लिंक करके, उपयोगकर्ताओं को पुष्टि करने की सुविधा देने वाले एक से ज़्यादा प्लैटफ़ॉर्म का इस्तेमाल करके, आपके ऐप्लिकेशन में साइन इन करने की अनुमति दी जा सकती है.

किसी उपयोगकर्ता को साइन आउट करने के लिए, signOut() को कॉल करें:

await FirebaseAuth.instance.signOut();