मैं एक फायरस्टोर प्रोजेक्ट के हिस्से के रूप में functions.auth.user().onCreate() का उपयोग कर रहा हूं, और एक नया उपयोगकर्ता पंजीकृत होने पर कुछ डिफ़ॉल्ट डेटा सेट करने का प्रयास कर रहा हूं। फ्रंट एंड के लिए, मैं फायरबेस-यूआई का उपयोग कर रहा हूं, जिसमें Google और ईमेल/पासवर्ड प्रदाता सक्षम हैं।

जब मैं किसी ईमेल और पासवर्ड से साइन इन करता हूं, तो UI विजेट एक नाम दर्ज करने और पासवर्ड सेट करने का संकेत देता है। मैं onCreate() फ़ंक्शन कॉल में user पैरामीटर के हिस्से के रूप में नाम देखने की उम्मीद कर रहा था, लेकिन मुझे व्यावहारिक रूप से कुछ भी नहीं मिल रहा है:

user: { email: 'xxx@yyyy.co.uk',
  emailVerified: false,
  displayName: null,
  photoURL: null,
  phoneNumber: null,
  disabled: false,
  providerData: [],
  customClaims: {},
  passwordSalt: null,
  passwordHash: null,
  tokensValidAfterTime: null,
  metadata: 
   UserRecordMetadata {
     creationTime: '2018-11-20T15:06:01Z',
     lastSignInTime: '2018-11-20T15:06:01Z' },
  uid: 'QDJ5OJTwbvNo2QNDVQV9VsxC2pz2',
  toJSON: [Function] }

प्रदाता की जानकारी भी नहीं मिल रही है, इसलिए मैं बता सकता हूं कि किस प्रकार का उपयोगकर्ता पंजीकृत है। यह लगभग ऐसा है जैसे उपयोगकर्ता रिकॉर्ड पॉप्युलेट होने से पहले यह फ़ंक्शन ट्रिगर हो गया है (ईमेल पते को छोड़कर करता है)। साथ ही, Google प्रदाता के माध्यम से पंजीकरण पूरी तरह से भरे हुए user रिकॉर्ड के साथ आते हैं, इसलिए मुझे लगता है कि यह विशेष रूप से ईमेल/पासवर्ड के साथ एक समस्या है।

क्या यह बग है या मैं कुछ भूल गया हूं? मैंने context पैरामीटर में और कुछ उपयोगी नहीं देखा।

2
dsl101 20 नवम्बर 2018, 18:24

1 उत्तर

सबसे बढ़िया उत्तर

तथ्य यह है कि displayName क्लाउड फ़ंक्शंस में पॉप्युलेट नहीं है onCreate ईमेल+पासवर्ड के लिए ट्रिगर अपेक्षित है। फ़ंक्शन को पहले API कॉल (createUserWithEmailAndPassword()) से ट्रिगर किया जाता है, जबकि प्रदर्शन नाम को दूसरे API कॉल (updateProfile) के साथ सेट किया जाता है।

उपयोगकर्ता प्रोफ़ाइल को अपडेट करने के लिए क्लाउड फ़ंक्शन बनाना सामान्य समाधान होगा, जैसा कि यहां दिखाया गया है: फायरबेस प्रमाणीकरण+कार्य | डिस्प्लेनाम के साथ उपयोगकर्ता बनाएं

मैं एक क्लाउड प्राप्त करने में सक्षम होने के लिए एक सुविधा अनुरोध दर्ज करने की अत्यधिक अनुशंसा करता हूं प्रोफ़ाइल परिवर्तन पर कार्य प्रारंभ हुआ।

1
Frank van Puffelen 20 नवम्बर 2018, 18:00