Mysql 使用Knex、Express和NodeJS执行登录和注册
我想使用Knex MySQL、Express和NodeJS构建一个应用程序。我上传了我的代码。我还没有前端,我用的是邮递员 注册工作正常,但在登录时我得到Mysql 使用Knex、Express和NodeJS执行登录和注册,mysql,node.js,express,knex.js,Mysql,Node.js,Express,Knex.js,我想使用Knex MySQL、Express和NodeJS构建一个应用程序。我上传了我的代码。我还没有前端,我用的是邮递员 注册工作正常,但在登录时我得到 { "status": "User not found" } 或 这似乎是个问题?为什么登录时看不到我插入数据库的用户?我找出了问题所在,并从local.js修改了函数,如下所示: passport.use('local', new LocalStrategy({ usernameField: 'email', passwo
{
"status": "User not found"
}
或
这似乎是个问题?为什么登录时看不到我插入数据库的用户?我找出了问题所在,并从
local.js
修改了函数,如下所示:
passport.use('local', new LocalStrategy({
usernameField: 'email',
passwordField: 'password'
},
function (username, password, done) {
knex('user')
.where('email', '=', username)
.then((err, user) => {
if (err) { return done(err); }
if (!user) {
return done(null, false, { message: 'Incorrect email.' });
}
if (!user.isValid(password)) {
return done(null, false, { message: 'Incorrect password.' });
}
return done(null, user);
})
}
));
电子邮件
不是passportjs想要的,但是用户名
是。为什么-1?我的问题这么麻烦你?我给出了所有的解释,没有什么不清楚的。
passport.use('local', new LocalStrategy({
usernameField: 'email',
passwordField: 'password'
},
function (username, password, done) {
knex('user')
.where('email', '=', username)
.then((err, user) => {
if (err) { return done(err); }
if (!user) {
return done(null, false, { message: 'Incorrect email.' });
}
if (!user.isValid(password)) {
return done(null, false, { message: 'Incorrect password.' });
}
return done(null, user);
})
}
));