【发布时间】:2019-08-05 23:32:18
【问题描述】:
实现passport-jwt 并尝试在用户为假时抛出自定义错误响应(电子邮件|密码为空`)
如果用户没有注册
api.js
const passport = require('passport');
const router = require('express-promise-router')();
const passportHelper = require('../helpers/passportHelper');
const authController = require('../controllers/authController');
const { badRequest } = require('../helpers/responseHelper');
const requireAuth = passport.authenticate('jwt', { session: false });
const requireSignin = passport.authenticate('local', { session: false }, (err, user, info) => {
if(!user) {
const err = new Error('please provide email and password.');
err.status = 400;
err.code = 'CP_SI_ValidationFailed';
return err;
}
});
router.post('/signup', authController.signup);
router.post('/signin', requireSignin, authController.signin);
module.exports = router;
当我尝试使用邮递员登录时,我没有得到任何响应
预期结果
{
"error": {
"code": "CP_SI_ValidationFailed",
"message": "email and password is required"
}
}
有没有其他方法可以处理 badRequest 并返回上面的 resonse ,
谢谢你
【问题讨论】:
标签: node.js express error-handling jwt passport.js