如何检查用户是否登录 ExpressJS/ PassportJS应用程序?我相信 PassportJS 会自动设置会话?但它设置了什么变量?
问问题
4152 次
3 回答
2
session.passport.user
调用req.logIn
时设置,调用时取消设置req.logOut
sessionStore = new MongoStore # RedisStore or whatever
sessionStore.get data.sessionID, (err, session) ->
if session.passport.user?
# Logged in
于 2012-07-17T01:25:56.900 回答
0
在 connect.js 你应该检查request.user
你的中间件
于 2013-12-04T21:08:33.863 回答
0
如果您设置正确,您应该能够在 POST 到会话创建路由后看到 HTTP 响应中的 Set-Cookie 行(尝试curl -v -d "username=whoever&password=supersecret" http://localhost:3000/session/new
对用户名、密码和 url 进行适当的替换)。
但是,要直接回答您的问题,您应该看到connect.sid
并且remember_token
默认情况下。如果您没有看到这个集合,但仍然可以在您的身份验证策略中转储一个有效的用户对象,请验证您的app.configure
调用中是否包含以下行:
app.use(express.cookieParser());
app.use(express.session({secret: "replace"}); // lots of options here, read up
app.use(passport.session());
于 2012-06-29T21:29:08.037 回答