密码恢复/重置

时间:2016-04-08 15:31:31

标签: swift firebase firebase-security firebase-authentication firebasesimplelogin

我无法理解Firebase的文档。在我的Login ViewController中,我有一个允许用户重置密码的按钮。因此,当用户按下按钮时,它会打开一个警报控制器,用户必须输入他们的电子邮件才能发送密码重置/恢复。

@IBAction func forgottenPassword(sender: AnyObject) {

        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 != "" {
                DataService.dataService.BASE_REF.resetPasswordForUser(loginTextField?.text, withCompletionBlock: { (error) in
                    if (error == nil) {

                        self.showErrorAlert("Password reset", msg: "Check your inbox to reset your password")

                    } else {
                        print(error)
                        self.showErrorAlert("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.addTextFieldWithConfigurationHandler { (textField) -> Void in
            // Enter the textfiled customization code here.
            loginTextField = textField
            loginTextField?.placeholder = "Enter your login ID"
        }
        presentViewController(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)
        presentViewController(alert, animated: true, completion: nil)
    }

Firebase后端服务器是否自动生成代码以将用户重置为其电子邮件?

我是否需要提供更多代码?比如sendPasswordResetForEmail()? ...或者Firebase后端服务是否从这里处理它? ......

1 个答案:

答案 0 :(得分:0)

这是你正在寻找的功能吗?

resetPasswordForUser(email:withCompletionBlock:)

只需在Firebase实例上调用它即可。 然后转到您的应用信息中心,自定义在密码更改时发送给用户的电子邮件。

enter image description here