2016-11-14 42 views
1

我正在拋出一個重定向錯誤,我似乎無法弄清楚爲什麼,我已經通過一個精細梳齒的文檔,沒有什麼看起來錯了。在提交我的形式(包括登錄和註冊),我收到了304護照本地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 

護照配置

// 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()) 

我要去哪裏錯了?

回答

0

我相信你的passport.use()函數的回調函數需要以下面的方式返回(這是從我的一個項目的工作實現中獲取的)。您可以看到,當身份驗證成功時,傳入該函數的done()回調的調用類似done(null, false),當身份驗證成功時我調用done(null, user)(我將用戶變量傳遞給其他地方的用法)。

function(username, password, done) { 
    //check if user is authenticated, in my case the user variable 
    if (err) { return done(err); } 
    if (!user) { return done(null, false); } 
    if (!user.authenticate(password)) { return done(null, false); } 
    if (!user.active) { return done(null, false); } 
    return done(null, user); 
} 
相關問題