Sunday, 2 April 2017

Passport authentication won't pass

I am trying to use passport authentication with a local strategy but the authentication fails every time and doesn't move on to the local strategy. I have added a couple console logs to see where the code is derailed but nothing at all is logged.

users.js(router)

var express = require('express');
var router = express.Router();
var User = require('../models/user');
var multer=require('multer');
var passport=require('passport');
var LocalStrategy=require('passport-local').Strategy;

/* GET users listing. */
router.get('/', function(req, res, next) {
  res.send('respond with a resource');
});

router.get('/register', function(req, res, next) {
  res.render('register',{
    'title':'Register'
  });
});

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

passport.use(new LocalStrategy(
    function(username,password,done){
        console.log('words');
        User.getUserByUsername(username,function(err,user){
            if (err) throw err;
            if(!user){
                console.log('Unknown user');
                return done(null,false);
            }
        });
    }
));

router.post('/login',passport.authenticate('local',{failureRedirect:'/users/register'}),function(req,res){
    console.log('Authentication succesful');
    req.flash('success','You are logged in');
    res.redirect('/');
});

module.exports = router;



via Brandon Emerson

No comments:

Post a Comment