2015-12-27 2 views
1

пытается подключиться к первому месту с паспортом для подписания в приложение и не может получить никаких ошибок в команде.Экспресс + Паспорт, Ошибка: не удается отправить запрос в паспорт и не выдавать никакой ошибки

после слишком много нагрузки он отвечает:

No data received

ERR_EMPTY_RESPONSE

не может найти решение этой ошибки.

маршруты

loginRouter.route('/login') 
     .get(loginController.getLogin) 
     .post(loginController.postLogin); 

postlogin функции:

var postLogin = function(req, res, next){ 
     passport.authenticate('local', { 
      successRedirect: '/', 
      failureRedirect: '/auth/login', 
      failureFlash : true 
     }); 
    }; 

passport.js

var passport = require('passport'); 
var localStrategy = require('passport-local').Strategy; 
var bcrypt = require('bcrypt-nodejs'); 
var User = require('../app/models/model')().User; 

module.exports = function(){ 

    passport.use('local',new localStrategy({ 
     usernameField: 'username', 
     passwordField: 'password', 
     passReqToCallback : true 
    }, 
    function (username, password, done){ 
     User.findOne({ 
      where: { 
       username: username 
      } 
     }).then(function(user){ 
      if(!user) { 
       console.log(user); 
       done(null, false, req.flash('invalid credentials try again')); 
      } else if (!bcrypt.compareSync(password, user.password)) { 
       done(null, false, req.flash('invalid credentials try again')); 
      } else { 
       done(null, user); 
      } 
     }); 
    })); 

    passport.serializeUser(function (user,done) { 
     done(null, user.id); 
    }); 

    passport.deserializeUser(function (id, done){ 
     User.findOne({where: {id: id}}).then(function(user){ 
      done(null, user); 
     }); 
    }); 
}; 

app.js

var express = require('express'), 
    session = require('express-session'), 
    cookieParser = require('cookie-parser'), 
    bodyParser = require('body-parser'), 
    passport = require('passport'), 
    flash = require('express-flash'), 
    app = express(), 
    port = 80; 


app.use(express.static(__dirname + '/public')); 

app.use(bodyParser.json()); 
app.use(bodyParser.urlencoded({ extended: true })); 
app.use(cookieParser()); 
app.use(session({ 
    secret: 'lirary', 
    cookie: { 
     maxage: 1200000 
    }, 
    resave: true, 
    saveUninitialized: true 
})); 
app.use(passport.initialize()); 
app.use(passport.session()); 
app.use(flash()); 

require('./config/passport')(); 
app.set('views','./resources/views'); 
app.set('view engine','ejs'); 

require(__dirname + '/app/routes/routes')(app); 

app.listen(port,function(err){ 
    console.log('server running on : '+ port) 
    if (err) { 
     throw err; 
    }; 
}); 

ответ

1

Просто небольшое изменение в моем маршруте и решило это сейчас.

loginRouter.post('/login', 
     function (req, res, next) { 
      console.log(User.validate()); 
      next(); 
     }, 
     passport.authenticate('local',{  
       successRedirect: '/dashboard', 
       failureRedirect: '/auth/login', 
       failureFlash : true 
      } 
     )); 
Смежные вопросы