Password Recovery/ Reset

437 Views Asked by At

I'm having trouble understanding Firebase's documentation. In my Login ViewController, I have a button that allows users to reset password. So when user presses the button, it opens an alert controller where user would have to input their email to be sent a password reset/ recovery.

@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)
    }

Does the Firebase Backend server automatically generate the code to send the user a reset to their email?

Would i have to provide further code? Such as sendPasswordResetForEmail()? ... Or does the Firebase Backend service handles it from here? ...

1

There are 1 best solutions below

1
José On

Is that the function you are looking for ?

resetPasswordForUser(email:withCompletionBlock:)

Just call it on your Firebase instance. Then go to your app dashboard to customize email that will be send to user upon password changes.

enter image description here