2016-07-06 8 views
5

मैं फ़ायरबेस कंसोल में उपयोगकर्ताओं को जोड़ सकता हूं -> एथ लेकिन मैं उनके लिए ईमेल और पासवर्ड सेट करने से कुछ और नहीं कर सकता।फ़ायरबेस - उपयोगकर्ता के लिए कोई प्रदर्शन नाम

क्या मैं उनके लिए प्रदर्शन नाम के लिए सेट कर सकता हूं?

उत्तर

9

मुझे लगता है कि अगर आप सिर्फ उन प्रोफ़ाइल अपडेट करना चाहता:

firebase.auth().onAuthStateChanged(function(user) { 
    if (user) { 
    // User is signed in. 
    user.updateProfile({ 
     displayName: "Random Name" 
    }).then(function() { 
     // Update successful. 
    }, function(error) { 
     // An error happened. 
    }); 

    } else { 
    // No user is signed in. 
    } 
}); 

इसके अतिरिक्त: https://firebase.google.com/docs/auth/web/manage-users

+0

हाँ, मुझे पता है कि कौन से फ़ील्ड authData लेकिन मुझे यह भी पता है कि ऑथडाटा में "displayName" नामक एक फ़ील्ड है जो उस प्रकार के प्रमाणीकरण के लिए शून्य है। उदाहरण के लिए, जब मैं Google प्रमाणीकरण का उपयोग करता हूं, तो मेरे पास मेरे Google नाम और उपनाम के रूप में प्रतिक्रिया प्रदर्शन नाम है। तो मेरा सवाल यह है कि, क्या मैं ऐसे गुणों को सेट कर सकता हूं जो मैं मैन्युअल रूप से फ़ायरबेस कंसोल में बनाऊं। धन्यवाद। – elzoy

+3

कंसोल में डिस्प्ले नाम सेट करने का कोई तरीका नहीं है (हालांकि अच्छा फीचर अनुरोध)। जब तक कि अस्तित्व में नहीं है, एपीआई को कॉल करना रास्ता है। –

+2

मुझे यह पृष्ठ "फायरबेस कंसोल एडिट यूजर प्रोफाइल" गुगल करके मिला है क्योंकि मैं भी कंसोल के माध्यम से उपयोगकर्ता के 'डिस्प्लेनाम' को सेट करना चाहता था और मुझे आश्चर्य हुआ कि मैं नहीं कर सका। निश्चित रूप से एक सुविधा जो जोड़ा जाना चाहिए। – odigity

4

मैं आपकी समस्या के लिए समाधान है। तो यहां यह है:

जब आप कोई उपयोगकर्ता बनाते हैं तो आप इसे केवल ईमेल और पासवर्ड के साथ बनाते हैं, लेकिन आप वादे में प्रदर्शन और प्रदर्शन कर सकते हैं, फिर .then() विधि के अंदर आप अपडेटप्रोफाइल विधि को कॉल करते हैं और आप तैयार हैं, formData: -> DISPLAYNAME

onSubmit(formData) { 
    if(formData.valid) { 
     console.log(formData.value); 
     this.af.auth.createUserWithEmailAndPassword(
     formData.value.email, 
     formData.value.password 
    ).then(
     (success) => { 
     console.log(success); 
     success.updateProfile({ 
      displayName: "Example User", 
      photoURL: "https://example.com/jane-q-user/profile.jpg" 
     }).catch(
     (err) => { 
     this.error = err; 
     });   
     this.router.navigate(['/login']) 
     }).catch(
     (err) => { 
     this.error = err; 
     }) 
    } 
    } 

नोट मेरी उदाहरण में DISPLAYNAME "उदाहरण उपयोगकर्ता", वास्तविक अनुप्रयोग में आप सिर्फ पैरामीटर जोड़ने का मेरे मामले में के रूप में यह होना चाहिए सेट कर दिया जाता है कि: सही नीचे कोड है। value.name

धन्यवाद

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