Firebase - 检查密码

时间:2017-09-16 03:14:09

标签: javascript firebase

我有一个场景,要求在用户执行不可逆转的任务之前,根据用户的firebase密码检查输入的密码。这与创建帐户或登录不同。如何检查firebase密码?它看起来不像password中的firebase.auth().currentUser属性。

更新 用户必须验证其密码,删除按钮将运行一个功能来检查它。如果它与firebase密码匹配,则Delete按钮将成功触发弹出的漂亮模式。

Password Verification

1 个答案:

答案 0 :(得分:0)

如果您需要在某个时候对其进行检查,我建议您将用户密码存储在某处。

我不会将其存储在您的数据库中(这是不安全的),而是使用UserDefaults将其个人存储在用户的设备上,这样您就可以在需要执行合理任务时轻松访问它。

更新

另一种可能性是使用reauthenticateWithCredential方法。如果该方法返回成功,则执行您的敏感任务。如果失败,请让您的用户输入正确的密码。

根据您的要求,您可以使用他的电子邮件重新验证用户身份。密码:

// First you get your current user using Auth :

let currentUser = Auth.auth()?.currentUser

// Then you build up your credential using the current user's current email and password :

let credential = EmailAuthProvider.credential(withEmail: email, password: password)    

// use the reauthenticate method using the credential :
 currentUser?.reauthenticate(with: credential, completion: { (error) in

    guard error == nil else {
        return
    }

    // If there is no error, you're good to go

    // ...Do something interesting here

})

您可以在Firebase文档中找到更多解释:https://firebase.google.com/docs/auth/ios/manage-users