Firebase Authentication को पसंद के मुताबिक बनाए गए पुष्टि करने वाले सिस्टम के साथ इंटिग्रेट किया जा सकता है. इसके लिए, आपको पुष्टि करने वाले सर्वर में बदलाव करना होगा, ताकि जब कोई उपयोगकर्ता सफलतापूर्वक साइन इन करे, तो वह पसंद के मुताबिक साइन किए गए टोकन जनरेट कर सके. आपका ऐप्लिकेशन इस टोकन को पाता है और इसका इस्तेमाल Firebase के साथ पुष्टि करने के लिए करता है.
शुरू करने से पहले
-
Firebase Authentication का इस्तेमाल करने से पहले, आपको ये काम करने होंगे:
- अपने Unity प्रोजेक्ट को Firebase प्रोजेक्ट के साथ रजिस्टर करें.
- अपने Unity प्रोजेक्ट में Firebase Unity SDK (खास तौर पर,
FirebaseAuth.unitypackage) जोड़ें.
शुरुआती सेटअप के इन चरणों के बारे में ज़्यादा जानकारी पाने के लिए, अपने Unity प्रोजेक्ट में Firebase जोड़ना लेख पढ़ें.
- अपने प्रोजेक्ट की सर्वर कुंजियां पाएं:
-
Firebase कंसोल में,
सेटिंग > सेवा खाते टैब पर जाएं. - Firebase Admin SDK सेक्शन में सबसे नीचे, नई निजी कुंजी जनरेट करें पर क्लिक करें.
- नए सेवा खाते के सार्वजनिक/निजी पासकोड की जोड़ी, आपके कंप्यूटर पर अपने-आप सेव हो जाती है. इस फ़ाइल को अपने पुष्टि करने वाले सर्वर पर कॉपी करें.
-
Firebase कंसोल में,
Firebase की मदद से पुष्टि करना
FirebaseAuth क्लास, सभी एपीआई कॉल के लिए गेटवे है.
इसे FirebaseAuth.DefaultInstance के ज़रिए ऐक्सेस किया जा सकता है.
Firebase.Auth.FirebaseAuth auth = Firebase.Auth.FirebaseAuth.DefaultInstance;
अपने ऑथेंटिकेशन सर्वर से मिले टोकन के साथ Firebase.Auth.FirebaseAuth.SignInWithCustomTokenAsync को कॉल करें.
- जब उपयोगकर्ता आपके ऐप्लिकेशन में साइन इन करें, तो उनके साइन-इन क्रेडेंशियल (जैसे, उपयोगकर्ता नाम और पासवर्ड) को पुष्टि करने वाले सर्वर पर भेजें. आपका सर्वर क्रेडेंशियल की जांच करता है. अगर वे मान्य होते हैं, तो वह कस्टम टोकन दिखाता है.
- पहचान की पुष्टि करने वाले सर्वर से कस्टम टोकन मिलने के बाद, उसे
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वैरिएबल से साइन इन किए हुए उपयोगकर्ता का यूनीक User-ID पाया जा सकता है. साथ ही, इसका इस्तेमाल यह कंट्रोल करने के लिए किया जा सकता है कि कोई उपयोगकर्ता किस डेटा को ऐक्सेस कर सकता है.
उपयोगकर्ताओं को पुष्टि करने वाले कई प्रोवाइडर का इस्तेमाल करके, आपके ऐप्लिकेशन में साइन इन करने की अनुमति दी जा सकती है. इसके लिए, पुष्टि करने वाले प्रोवाइडर के क्रेडेंशियल को किसी मौजूदा उपयोगकर्ता खाते से लिंक करें.
किसी उपयोगकर्ता को साइन आउट करने के लिए,
SignOut() को कॉल करें:
auth.SignOut();