在Swift中更新用户的Firebase密码

时间:2019-02-20 15:43:48

标签: ios swift firebase firebase-authentication

我有一个UITableViewController,我希望用户能够用一个新密码更改其当前密码。

视图非常简单-2 UITextFields,我希望他们输入他们的当前密码,并输入另一个他们想要的新密码。

问题是我无法在Firebase的文档中找到执行此操作的方法。有谁知道如何做到这一点?

PS:忽略提示“更新您的电子邮件”,此问题将得到解决。

enter image description here

1 个答案:

答案 0 :(得分:3)

1。更改密码

为了更改Firebase用户的密码,您不需要旧密码。您可以通过重新验证用户身份,然后更新密码来做到这一点。

i。重新认证用户:

let user = Auth.auth().currentUser
var credential: AuthCredential

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

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

https://firebase.google.com/docs/auth/ios/manage-users#re-authenticate_a_user

ii。更改密码

重新验证用户身份后,请使用以下方法更改密码:

Auth.auth().currentUser?.updatePassword(to: password) { (error) in
  // ...
}

2。忘记密码

要处理这种情况,您可以将密码重置链接发送到用户的电子邮件。使用以下方法:

Auth.auth().sendPasswordReset(withEmail: email) { error in
  // ...
}

来源:https://firebase.google.com/docs/auth/ios/manage-users