Ich versuche, eine vergessene Passwort-Taste in meiner App mit Firebase zu erstellen, aber es funktioniert nur, wenn ich die E-Mail schreibe, für die ich das Passwort im Code ändern möchte, das ist die " schlechte "Codezeile.Passwort vergessen Taste Firebase iOS
Auth.auth().sendPasswordReset(withEmail: "[email protected]"
Was soll ich tun, um das Passwort eines Kontos zu ändern, ohne die E-Mail im Code zu schreiben? Das Problem ist, dass ein registrierter Benutzer sein Passwort nicht zurücksetzen kann, wenn ich seine E-Mail nicht in der Code-Adresse schreiben, es funktioniert nur für die angegebene E-Mail-Adresse Im Anschluss gibt den vollständigen Code
@IBAction func resetPasswordTapped(_ sender: UIButton) {
var loginTextField: UITextField?
let alertController = UIAlertController(title: "Password Recovery", message: "Please enter your email address", preferredStyle: .alert)
let ok = UIAlertAction(title: "OK", style: .default, handler: { (action) -> Void in
if loginTextField?.text != "" {
Auth.auth().sendPasswordReset(withEmail: ("[email protected]") { (error) in
if (error == nil) {
self.showErrorAlert(title: "Password reset", msg: "Check your inbox to reset your password")
} else {
print(error)
self.showErrorAlert(title: "Unidentified email address", msg: "Please re-enter the email you registered with")
}
}
}
print("textfield is empty")
})
let cancel = UIAlertAction(title: "Cancel", style: .cancel) { (action) -> Void in
}
alertController.addAction(ok)
alertController.addAction(cancel)
alertController.addTextField { (textField) -> Void in
// Enter the textfiled customization code here.
loginTextField = textField
loginTextField?.placeholder = "Enter your login ID"
}
present(alertController, animated: true, completion: nil)
}
func showErrorAlert(title: String, msg: String) {
let alert = UIAlertController(title: title, message: msg, preferredStyle: .alert)
let action = UIAlertAction(title: "OK", style: .default, handler: nil)
alert.addAction(action)
present(alert, animated: true, completion: nil)}
Es ist ein wenig unklar, was Sie fordern; sagen Sie, dass, wenn Sie die E-Mail-Adresse Zeichenfolge in Ihrem Code enthalten, es funktioniert, aber Sie nicht wissen, um die E-Mail sonst zu erhalten? – Jay
das Problem ist, dass ein registrierter Benutzer sein Passwort nicht zurücksetzen kann, wenn ich nicht seine E-Mail-Adresse in den Code schreiben –
Ich denke, das ist per Entwurf, sendet Firebase Passwort zurückgesetzt durch E-Mails, weil ich den Benutzer signedUpWithEmailAndPassword() annehmen . Fragen Sie, wie Sie einem Benutzer erlauben, sein Passwort sofort in der App zurückzusetzen? –