2016-06-20 4 views
6

पर अतिरिक्त जानकारी कैसे जोड़ें इस डेटा सेट में मैं अतिरिक्त विशेषताएँ फ़ोन नंबर और पता कैसे जोड़ सकता हूं? ऐसा लगता है जैसे फायरबेस दस्तावेज उस बारे में कुछ भी निर्दिष्ट नहीं करता है।firebase.auth()

//Email Login 
firebase.auth().signInWithEmailAndPassword(email, password).then(
    ok => { 
     console.log("Logged in User",ok.user);    
    }, 
    error => { 
     console.log("email/pass sign in error", error); 
    } 
); 

रजिस्टर:

//Sign Up 
firebase.auth().createUserWithEmailAndPassword(email, password).then(
    ok => { 
     console.log("Register OK", ok); 
    }, 
    error => { 
     console.log("Register error", error); 
    } 
) 

अद्यतन:

मैं लॉगिन, रजिस्टर और अद्यतन firebase.auth()

लॉग इन का उपयोग कर लागू कर दिया है

//User Authentication firebase.auth().onAuthStateChanged(function(user) { if (user) { $scope.data=user; } else { // No user, Redirect to login page } }); //Save Function $scope.save=function(values){ $scope.data.updateProfile({ displayName: "Test User", email: "[email protected]", /* phone: 123412341, address: "Temp Address",*/ photoURL: "www.example.com/profile/img.jpg" }).then(function() { // Update successful. }, function(error) { // An error happened. }); }; 
+0

कृपया, अगर जवाब हल करने में आपकी समस्या इसे स्वीकार करती है ताकि अन्य लोग समाधान जान सकें। साथ ही, अगर आपके पास और प्रश्न हैं तो मुझे बताएं :) –

+0

यह एक अच्छा कार्यान्वयन है: http://stackoverflow.com/questions/32151178/how-do-you-include-a-username-when-storing-email- और-पासवर्ड-उपयोग-फ़ायरबेस-बी –

+0

हां, यह फ़ायरबेस कार्यान्वयन है। लेकिन यह केवल इन गुणों तक ही सीमित है: https://firebase.google.com/docs/reference/ios/firebaseauth/interface_f_i_r_user#properties लिंक में मैंने अपने उत्तर में टिप्पणी में पोस्ट किया है, वे इस बारे में बात करते हैं;) –

उत्तर

3

जहां तक ​​मुझे पता है, आपको फ़ायरबेस द्वारा प्रदान किए गए डिफ़ॉल्ट उपयोगकर्ता की तुलना में अधिक फ़ील्ड रखना चाहते हैं, तो आपको अपने आप से प्रोफाइल प्रोफाइल प्रबंधित करना होगा।

आप सभी उपयोगकर्ताओं प्रोफाइल को रखने के लिए फ़ायरबेस में एक संदर्भ बना सकते हैं।

users: { 
    "userID1": { 
    "name":"user 1", 
    "gender": "male" 
    }, 
    "userID2": { 
    "name":"user 2", 
    "gender": "female" 
    } 
} 

आप onAuthStateChanged का उपयोग जब उपयोगकर्ता के प्रवेश का पता लगाने के कर सकते हैं, और आप once() उपयोग कर सकते हैं अगर यह होता है उपयोगकर्ता के डाटा को पुनः प्राप्त करने

firebaseRef.child('users').child(user.uid).once('value', callback) 

आशा है कि यह मदद करता है

+0

वर्तमान में यह एक अच्छा समाधान है। लेकिन मुझे यह जानकर खुशी होगी कि –

+1

के लिए कोई बेहतर समाधान है या नहीं, यह करने का सुझाव दिया गया है। एक बेहतर समाधान एक समाधान हो सकता है जो आपकी आवश्यकताओं के अनुरूप बेहतर हो। आपको अपने डेटा को कैसे व्यवस्थित करना है, इस पर निर्भर करता है कि आप उन्हें कैसे पुनर्प्राप्त करना चाहते हैं। उदाहरण के लिए, यदि आप कुछ जानकारी गुप्त रखना चाहते हैं तो आप कर सकते हैं: "userId": {"क्रेडिट कार्ड": "0000", "सार्वजनिक": {"नाम": "डेविड", "जेनेर": "ड्रैगन" }} और अन्य उपयोगकर्ताओं को केवल "सार्वजनिक" नोड पढ़ने की अनुमति देने के लिए सुरक्षा नियमों का उपयोग करें। उम्मीद है कि यह मदद करता है :) मैं किसी अन्य प्रश्न के लिए यहां हूं –

+0

यह उत्तर सहायक हो सकता है: http://stackoverflow.com/a/37420701/4695325 –

संबंधित मुद्दे