Я следующий Express.js файлПолучить текущего пользователя в Passport.js
var express = require('express');
var favicon = require('serve-favicon');
var morgan = require('morgan');
var compression = require('compression');
var bodyParser = require('body-parser');
var methodOverride = require('method-override');
var cookieParser = require('cookie-parser');
var errorHandler = require('errorhandler');
var path = require('path');
var config = require('./environment');
var passport = require('passport');
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());
app.use(passport.initialize());
app.use(passport.session()); // passport session middleware
if ('production' === env) {
app.use(favicon(path.join(config.root, 'public', 'favicon.ico')));
app.use(express.static(path.join(config.root, 'public')));
app.set('appPath', config.root + '/public');
app.use(morgan('dev'));
}
if ('development' === env || 'test' === env) {
app.use(require('connect-livereload')());
app.use(express.static(path.join(config.root, '.tmp')));
app.use(express.static(path.join(config.root, 'client')));
app.set('appPath', 'client');
app.use(morgan('dev'));
app.use(errorHandler()); // Error handler - has to be last
}
};
После того как пользователь вошел в систему с помощью Facebook, в мой контроллер, когда я пытаюсь сделать req.user
или req.session.passport.user
это получить undefined
.
Как я могу получить текущего пользователя?
Это не является достаточными кодами. – NeiL
Пожалуйста, добавьте 'passport.serializeUser',' passport.deserializeUser' и 'passport.use()' звонки. Кроме того, если приведенная выше ваша полная конфигурация Express app не поддерживает сеанс. Установите [экспресс-сеанс] (https://www.npmjs.com/package/express-session) и используйте ** перед ** вызовом 'passport.session()' – vesse