Я делаю приложение с экспресс-паспортом и угловымJS; Я хочу иметь возможность отправлять любые ошибки, возникшие из паспорта (например, имя пользователя, полученное или не отправленное по электронной почте) json, поэтому мое приложение angularJS может получать эти ошибки в ответ json. Более конкретно, прямо сейчас я хочу ответить json на мой метод POST регистрации, который выводит любые ошибки. Я попытался сделать это для себя, и я ищу по всему Интернету и переполнению стека, я просто не могу это решить!Ошибка отправки паспорта json
Вот мой файл пользователей маршрут экспресс:
var express = require('express');
var router = express.Router();
var isAuthenticated = require('../config/isAuthenticated');
module.exports = function(passport){
router.get('/loggedin', function(req, res){
res.send(req.isAuthenticated() ? req.user : '0');
});
router.post('/signup', passport.authenticate('local-signup', {
successRedirect : '/',
failureRedirect : '/signup',
failureFlash: true
}));
router.post('/login', passport.authenticate('local-login'), function(req, res){
res.send(req.user);
});
router.post('/signout', function(req,res){
req.logout();
res.json({redirect: '/'});
});
router.get('/authtest', isAuthenticated, function(req, res){
res.render('authtest', {user: req.user});
});
return router;
};
Это мой паспорт стратегия Регистрация:
passport.use('local-signup', new LocalStrategy({
usernameField : 'username',
passwordField : 'password',
passReqToCallback : true
},
function(req, username, password, done){
process.nextTick(function(){
User.findOne({'local.username' : username}, function(err, user){
if(err) return done(err);
if (user) { //username already exists
return done(null, false, {message: 'Username already exists'});
} else if(!req.body.email) { //no email address provided
return done(null, false, {message: 'You must provide an email address!'});
} else {
var newUser = new User();
newUser.local.username = username;
newUser.generateHash(password, function(err, hash){
if(err) return done(err);
newUser.local.password = hash;
});
newUser.email = req.body.email;
newUser.servers = [];
newUser.save(function(err){
if(err) throw err;
return done(null, newUser);
});
};
});
});
}
));
Я знаю, глядя на мой код прямо сейчас, похоже, я не пробовал самостоятельно решить это, но это всего лишь мой последний рабочий код; Я застрял в этом в течение последних нескольких дней!
Любая помощь будет принята с благодарностью :)