gpt4 book ai didi

swift - 如何抓取凭证值重新认证? (问题已更新)

转载 作者:行者123 更新时间:2023-11-28 05:39:29 24 4
gpt4 key购买 nike

我正在尝试允许用户更改他们的电子邮件或密码。我对重新身份验证的工作原理做了一些研究,但是在创建 credential 时我已经回答了大部分问题,我如何在 .credentialWithEmail(email, password) 中获取用户电子邮件/密码: 密码) 部分?我不确定在这些字段中输入什么。

当我查看快速帮助选项卡时,它解释了参数:

电子邮件用户的电子邮件地址。密码用户的密码。

这是代码


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

func updateEmail() {



guard let updatedEmail = self.updatedEmail else { return }

let user = Auth.auth().currentUser
guard let currentUid = Auth.auth().currentUser?.uid else { return }
// re authenticate the user
user?.reauthenticate(with: credential, completion: { (result, error) in
if let error = error {
// An error happened.
print(error._code)
self.handleError(error)
} else {
guard self.emailChanged == true else { return }

user?.updateEmail(to: self.emailTextField.text!, completion: { (error) in
if let error = error {
self.handleError(error)
} else {
print("Email Change Success")
USER_REF.child(currentUid).child("email").setValue(updatedEmail) { (err, ref) in

self.dismiss(animated: true, completion: nil)

}
}

}

)}



}
)}

最佳答案

如果你问为什么设置了FIREmailPasswordAuthProvider后收不到邮箱或者密码,那是因为只设置了。设置 FIREmailPasswordAuthProvider 后,没有检索电子邮件/密码的功能。 Firebase 无法从其 Auth 类中检索设置的密码。可以使用 let userEmail = Auth.auth().currentUser?.email

检索用户电子邮件

您可能需要重新设计代码,以允许应用使用 NSUserDefaults 在本地保存密码,或者让用户重新输入密码。

关于swift - 如何抓取凭证值重新认证? (问题已更新),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57344589/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com