我有一个使用护照进行OAuth的快速申请。我让它与谷歌和Facebook成功合作。我的问题是我可以在控制器函数上获得req.user,其中路由配置如下:
router.post('/', auth.isAuthenticated(), controller.create);
但是当我尝试从不需要身份验证的控制器函数访问用户信息时,即使用户已登录,req.user仍未定义。我在这里做错了什么?
以下是快递和护照的配置方式:
module.exports = function(app) {
var env = app.get('env');
app.set('views', config.root + '/server/views');
app.engine('html', require('ejs').renderFile);
app.set('view engine', 'html');
app.use(compression());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json());
app.use(methodOverride());
app.use(cookieParser());
// Persist sessions with mongoStore
// We need to enable sessions for passport twitter because its an oauth 1.0 strategy
app.use(session({
secret: config.secrets.session,
resave: true,
saveUninitialized: true,
store: new mongoStore({ mongoose_connection: mongoose.connection })
}));
app.use(passport.initialize());
app.use(passport.session());
.
.
.