我正在将bcryptjs和nodejs与firebase一起使用,并在登录时遇到问题。 userinfo(以及散列密码)被存储在firebase数据库中(注册工作正常),为了将输入的密码(按用户)与存储的密码进行比较,我正在使用以下方法-
bcrypt.compare(req.user.password, user.password, function(err, res) {
// res === true
});
ref:https://www.npmjs.com/package/bcryptjs
我需要输入的emailid中的userinfo,但是我被困在这里,因为userinfo映射到uid而不是电子邮件,所以无法从firebase中检索userinfo。
我可以从用户输入的电子邮件ID(从Firebase)中获取用户信息,还是通过其他方式对用户进行身份验证。
谢谢。
答案 0 :(得分:1)
由于您使用node.js
进行了标记:在受信任的环境中,您可以使用Firebase Admin SDK至look up users by their email:
admin.auth().getUserByEmail(email) .then(function(userRecord) { // See the UserRecord reference doc for the contents of userRecord. console.log("Successfully fetched user data:", userRecord.toJSON()); }) .catch(function(error) { console.log("Error fetching user data:", error); });