Passport.js如何处理会话?

时间:2013-01-09 20:05:31

标签: node.js session express passport.js

我无法理解Web应用程序的会话概念。我正在使用Express 3.0运行Node.js服务器。

要求:

  • 为每个登录

  • 的用户创建会话
  • 存储此会话并使用它来验证用户是否已登录(防止两个设备同时使用同一用户)

  • 限制对某些页面的访问(通过将会话ID与其他一些数据相匹配)

护照储存会议在哪里?

1 个答案:

答案 0 :(得分:2)

它在req.user中存储用户会话(带快递或连接)。

请记住,这与快速会话中间件不同,后者可以在req.session中存储您想要的任何内容。

要使用护照保留您的用户会话,请使用护照的中间件:

app.use(express.session({ secret: 'keyboard cat' }));
app.use(passport.initialize());

然后像这样访问用户:

function someRoute(req, res, next) {
  // req.user = the user of this session
}