Firebase का इस्तेमाल करके, पहचान छिपाकर पुष्टि करें

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

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

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

  2. पहचान छिपाकर साइन इन करने की सुविधा चालू करें:

    • Firebase कंसोल के पुष्टि करें सेक्शन में, साइन इन करने का तरीका पेज खोलें.
    • साइन इन करने का तरीका पेज पर, पहचान छिपाकर साइन इन करने का तरीका चालू करें और सेव करें पर क्लिक करें.

पहचान छिपाकर 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();