Passport-local 304 redirect error express app

时间:2016-11-14 21:36:52

标签: node.js authentication express passport.js

我正在抛出一个重定向错误而且我似乎无法弄明白为什么,我已经用精细梳齿梳理了文档,似乎没有任何错误。在提交表格(登录和注册)时,我收到304。

登录

router.get('/login', function(req, res, next) {
  res.render('login', {
    user: req.user
  })
})

模板

extends layout

block content
  .container
    h1 Login 
    br
    form(method="post", action="/login", class="form")
      .form-group
        input.form-control(type='text', name='email', required='required')
      .form-group
        input.form-control(type='password', name='password', required='required')
      button.btn.btn-default(type='submit') submit
      a(href='/')
        button.btn.btn-default(type='button') Go back

Passport配置

// Configure passport
passport.use(new LocalStrategy({
    usernameField: 'email',
    passwordField: 'password'
  },
  function(username, password, done) {
    UserSchema.authenticate()
  }
));

//passport.use(new LocalStrategy(UserSchema.authenticate()))
passport.serializeUser(UserSchema.serializeUser())
passport.deserializeUser(UserSchema.deserializeUser())

我哪里错了?

1 个答案:

答案 0 :(得分:0)

我相信using (ZipFile unzip = ZipFile.Read(zipPath)) { unzip.ExtractAll(extractPath); lbldlstatus.Text = "Extracting Files"; MoveFiles(); } 函数中的回调函数需要以如下方式返回(这取自我的一个项目的工作实现)。您可以看到,当身份验证失败时,传递给函数的passport.use()回调被调用为done(),而当身份验证成功时,done(null, false)被调用(我在此处传递用户变量以供其他用户使用)

done(null, user)