簡體   English   中英

密碼恢復/重置

[英]Password Recovery/ Reset

我無法理解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后端服務是否從這里處理它? ...

這是你正在尋找的功能嗎?

resetPasswordForUser(email:withCompletionBlock:)

只需在Firebase實例上調用它即可。 然后轉到您的應用儀表板,自定義在密碼更改時發送給用戶的電子郵件。

在此輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM