2016-08-11 15 views
5

में नए फ़ायरबेस के साथ ईमेल और पासवर्ड दोनों को अपडेट कैसे करें मैं Google से नए फायरबेस के साथ ऐप विकसित कर रहा हूं। और मुझे उपयोगकर्ता ईमेल और पासवर्ड अपडेट करने में समस्या हो रही है।स्विफ्ट

यहां मैंने जो कोशिश की है।

let currentUser = FIRAuth.auth()?.currentUser 

currentUser?.updateEmail(email) { error in 
    if let error = error { 
     print(error) 

    } else { 
     // Email updated. 
     currentUser?.updatePassword(password) { error in 
      if let error = error { 

      } else { 
       // Password updated. 
       print("success") 

      } 
     } 
    } 
} 

लेकिन पासवर्ड अपडेट करते समय यह इस तरह की त्रुटि होती है।

"डोमेन = FIRAuthErrorDomain कोड = 17014" हाल के प्रमाणीकरण इस आपरेशन संवेदनशील है और आवश्यकता है ... "

मुझे पता है के रूप में हम ईमेल अपडेट करने के बाद फिर से कॉन्फ़िगर करने के लिए उपयोगकर्ता की है।

मैं firebase से फिर से cofiguring के लिए इस कोड के साथ की कोशिश की।

let user = FIRAuth.auth()?.currentUser 
var credential: FIRAuthCredential 

// Prompt the user to re-provide their sign-in credentials 

user?.reauthenticateWithCredential(credential) { error in 
    if let error = error { 
    // An error happened. 
    } else { 
    // User re-authenticated. 
    } 
} 

लेकिन इस त्रुटि

होता है

चर 'क्रेडेंशियल' पहले इस्तेमाल

मैं जानता हूँ कि इस वजह से मैं 'क्रेडेंशियल' चर को प्रारंभ नहीं है, लेकिन मैं यह काम करने के लिए तय करने के लिए पता नहीं कैसे आद्याक्षरित जा रहा है।

क्या कोई है जो समाधान जानता है?

+0

यह मेरे लिए काम करता है के बाद मैं लॉगिन नीचे की तरह उपयोग। मैं ईमेल और पासवर्ड को बदल सकते हैं इस तरफ। – WeiJay

+0

हाय, @ EICaptainv2.0 मैंने अपना जवाब अपडेट कर लिया है, क्या आप कृपया एक नज़र डालें और मुझे समाधान दें? –

उत्तर

7

अपने संपादित में आप को प्रारंभ नहीं किया अपने FIRAuthCredential ... यह var credential = FIRAuthCredential() होना चाहिए या बस कोड

let credential = FIREmailPasswordAuthProvider.credentialWithEmail(email, password: password) 

user?.reauthenticateWithCredential(credential) { error in 
    if let error = error { 
     // An error happened. 
    } else { 
     // User re-authenticated. 
    } 
} 
+1

यह पूरी तरह से काम करता है, यह सबसे अच्छा जवाब है। धन्यवाद। –