我正在使用express.js和passport.js在节点服务器上工作。我处于一种状态,我不想在express.bodyParser()
和app.use(passport.initialize())
之前使用app.use(passport.session())
。如果我在两个护照中间件功能之后执行app.use(express.bodyParser())
,它们会使请求流混乱,并且bodyParser不再起作用。
我想仅在几个特定路线中使用bodyParser,而不是在整个应用中。我所做的是为了避免这个错误如下(在我想保护并使用bodyParser的每个路径中):
app.post(route, express.json(), passport.initialize(), passport.session(), isAuthenticated, controller);
但我认为这有点令人讨厌。是否有解决方案让它干涸?
答案 0 :(得分:2)
var passport = require('passport');
var express = require('express');
function isAuthenticated(req, res, next) {
//...
}
module.exports = [
express.json(),
passport.initialize(),
passport.session(),
isAuthenticated
];
app.post(route, require('./auth'), controller);