从passportjs获取经过身份验证的用户信息并表达

时间:2014-10-22 14:22:19

标签: node.js express passport.js

我有一个使用护照进行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());
.
.
.

0 个答案:

没有答案