首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Knex、Express和NodeJS执行登录和注册

问使用Knex、Express和NodeJS执行登录和注册
EN

Stack Overflow用户
提问于 2018-09-13 08:14:59
回答 1查看 1K关注 0票数 0

我想用Knex、Express和NodeJS构建一个应用程序。我上传了一个柱塞作为代码。我还没有前台,我在用邮递员。

注册工作正常,但登录时我得到

代码语言:javascript
复制
{
    "status": "User not found"
}

或

代码语言:javascript
复制
{
    "message": "Missing credentials"
}

哪个似乎是问题所在?为什么登录时看不到我插入到db中的用户?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-09-13 08:52:57

我找出了问题所在,并对local.js中的函数进行了如下修改:

代码语言:javascript
复制
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);
      })
  }
));

email不是passportjs正在寻找的东西,而是username。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52309382

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档