첫 번째 유효성 검사 미들웨어없이 본문 유효성 검사와 오류 처리가 필요합니다. 이 코드는 잘 작동하지만 첫 번째 미들웨어를 삭제하고 두 번째 미들웨어 내에서 유효성을 관리하고 싶습니다.본문 유효성 검사 및 오류 처리 기능이있는 Passport.js 로컬 로그인
{
"error": "Invalid email and/or password"
}
나는이 싶습니다 : 사용자가 일치하지 않는 경우, 에러 처리에 관해서는
경로가/
router.post('/signin', function(req, res, next){
req.checkBody('email', 'Email is required.').notEmpty();
req.checkBody('email', 'Invalid email format.').isEmail();
req.checkBody('password', 'Password is required.').notEmpty();
req.checkBody('password', 'The password length must be between 8 and 100.').isLength({min: 8, max: 100});
var err = req.validationErrors();
if (err) {
res.status(400).send({ success: false, error: err});
return;
}
next();
});
router.post('/signin', passport.authenticate('local', { session: false }), function(req, res){
var user = req.user;
return res.json({success: true, user: user});
});
을 auth.js 오류는
{
"success":false,
"error": "Invalid email and/or password"
}
어떻게하면됩니까?
는 응답에 대한
passport.use(new LocalStrategy({
usernameField: 'email',
passwordField: 'password'
},
function(email, password, done) {
User.findOne({ email: email, password: password },'-password', function (err, user) {
if (err)return done(err);
if(!user){
var err = new Error('Invalid email and/or password');
err.status = 401;
return done(err, false);
}
return done(null, user);
})
}
));
감사 passport.js.