嗨,我正在使用lambda函数来检查在本地运行的mongodb中的用户名和密码。
module.exports.handler = (event, context, callback) => {
console.log('login');
const { username, password } = JSON.parse(event.body);
console.log("username--->",username);
console.log("password-->",password)
try {
// Authenticate user
const user = users.login(username, password);
console.log("----->inside login handler!!!",user);
这是我发送值来检查数据库的地方
login = function (username, password) {
console.log("--------inside login of users",username,password)
userRegister.findOne({
username : username,
password : password
}).then(function(err,data){
if (err) {
console.log("---------------err", err)
return _.omit(err);
}
else {
console.log("---------------data", data)
return _.omit(data);
}
})
}
价值没有返回任何东西,我得到未定义!我认为findOne不起作用!
提前致谢
为什么要匹配密码。在findOne中,我相信您应该在将密码存储到数据库之前对其进行哈希处理。如果不是我天堂般的建议这样做。使用散列库找到文档后匹配密码
login = function (username, password) {
console.log("--------inside login of users",username,password)
userRegister.findOne({
username : username // Remove password from here
}).then(function(err,data){
if (err) {
console.log("---------------err", err)
return _.omit(err);
}
else {
// Match password here
console.log("---------------data", data)
return _.omit(data);
}
})
}