首页 > 解决方案 > Firebase 更改密码不起作用。我收到此错误:密码无效或用户没有密码

问题描述

要更改用户的密码,它会说让他们再次登录以获取新的凭据。所以我用这个功能登录了他们:

Auth.auth().signIn(withEmail: enterEmailTextField.text!, password: enterOldPasswordLabel.text!) { [weak self] authResult, error in

但我收到此错误:密码无效或用户没有密码。

然而,我可以在登录页面上注销并重新登录,并将完全相同的输入输入到完全相同的功能中而不会出现问题。这没有道理。

我如何获得新的登录凭据,以便他们可以更改密码?因为再次登录他们的方法是行不通的。

我还尝试了使用此函数获取凭据的另一种方法:

let credential = EmailAuthProvider.credential(withEmail: enterEmailTextField.text!, password: enterOldPasswordLabel.text!)

我打印凭证,它不是零。然后我将其插入此函数并得到与上述相同的错误:

Auth.auth().currentUser?.reauthenticate(with: credential) { [weak self] _, error in
            if error != nil {
            print("error: \(error!)")
          } else {
...

你如何允许用户在 Swift 中更改他或她的 Firebase 密码?

标签: iosswiftfirebasefirebase-authentication

解决方案


推荐阅读