कस्टम ऑथेंटिकेशन सिस्टम और Unity का इस्तेमाल करके, Firebase की मदद से पुष्टि करें

Firebase Authentication को पसंद के मुताबिक पुष्टि करने वाले सिस्टम के साथ इंटिग्रेट करने के लिए, ये काम किए जा सकते हैं: आपके ऑथेंटिकेशन सर्वर में बदलाव करना, ताकि जब कोई उपयोगकर्ता आपकी पसंद के मुताबिक साइन किए हुए टोकन जनरेट करे, सफलतापूर्वक प्रवेश करता है. आपके ऐप्लिकेशन को यह टोकन मिलता है और पुष्टि करने के लिए इसका इस्तेमाल किया जाता है के साथ काम करता है.

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

  1. इस्तेमाल करने से पहले Firebase Authentication आपको ये काम करने होंगे:

    • अपने Unity प्रोजेक्ट को Firebase प्रोजेक्ट के साथ रजिस्टर करें.
    • Firebase Unity SDK टूल जोड़ें (खास तौर पर, FirebaseAuth.unitypackage) को भी जोड़ा जा सकता है.

    सेटअप के इन शुरुआती चरणों के बारे में ज़्यादा जानकारी के लिए, Firebase को अपनी Unity में जोड़ना प्रोजेक्ट पर जाएं.

  2. अपने प्रोजेक्ट की सर्वर कुंजियां पाएं:
    1. सेवा खाते पर जाएं पेज पर जाएं.
    2. विंडो के सबसे नीचे मौजूद नई निजी कुंजी जनरेट करें पर क्लिक करें सेवा खाते पेज पर मौजूद, Firebase एडमिन SDK सेक्शन में.
    3. नए सेवा खाते का सार्वजनिक/निजी कुंजी का जोड़ा अपने-आप आपके कंप्यूटर पर सेव हो जाता है. इस फ़ाइल को अपने ऑथेंटिकेशन सर्वर पर कॉपी करें.

Firebase की मदद से पुष्टि करें

FirebaseAuth क्लास, सभी एपीआई कॉल के लिए गेटवे होती है. इसे FirebaseAuth.DefaultInstance के ज़रिए ऐक्सेस किया जा सकता है.
Firebase.Auth.FirebaseAuth auth = Firebase.Auth.FirebaseAuth.DefaultInstance;

इस नंबर से मिले टोकन के साथ Firebase.Auth.FirebaseAuth.SignInWithCustomTokenAsync को कॉल करें आपका ऑथेंटिकेशन सर्वर.

  1. जब उपयोगकर्ता आपके ऐप्लिकेशन में साइन इन करें, तो अपने साइन-इन क्रेडेंशियल भेजें उदाहरण के लिए, उनका उपयोगकर्ता नाम और पासवर्ड). आपका सर्वर, क्रेडेंशियल की जांच करता है और कस्टम टोकन अगर वे मान्य हैं.
  2. अपने ऑथेंटिकेशन सर्वर से कस्टम टोकन मिलने के बाद, साइन इन करने के लिए, इसे Firebase.Auth.FirebaseAuth.SignInWithCustomTokenAsync करें उपयोगकर्ता:
    auth.SignInWithCustomTokenAsync(custom_token).ContinueWith(task => {
      if (task.IsCanceled) {
        Debug.LogError("SignInWithCustomTokenAsync was canceled.");
        return;
      }
      if (task.IsFaulted) {
        Debug.LogError("SignInWithCustomTokenAsync encountered an error: " + task.Exception);
        return;
      }
    
      Firebase.Auth.AuthResult result = task.Result;
      Debug.LogFormat("User signed in successfully: {0} ({1})",
          result.User.DisplayName, result.User.UserId);
    });
    

अगले चरण

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

  • अपने ऐप्लिकेशन में, उपयोगकर्ता की बुनियादी प्रोफ़ाइल जानकारी को Firebase.Auth.FirebaseUser ऑब्जेक्ट:

    Firebase.Auth.FirebaseUser user = auth.CurrentUser;
    if (user != null) {
      string name = user.DisplayName;
      string email = user.Email;
      System.Uri photo_url = user.PhotoUrl;
      // The user's Id, unique to the Firebase project.
      // Do NOT use this value to authenticate with your backend server, if you
      // have one; use User.TokenAsync() instead.
      string uid = user.UserId;
    }
    
  • आपके Firebase Realtime Database और Cloud Storage में सुरक्षा के नियम, ये काम किए जा सकते हैं auth वैरिएबल से साइन-इन किए हुए उपयोगकर्ता का यूनीक यूज़र आईडी पाएं, और इसका इस्तेमाल करके यह कंट्रोल किया जा सकता है कि उपयोगकर्ता कौनसा डेटा ऐक्सेस कर सकता है.

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

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

auth.SignOut();