根据这篇文章
http://toon.io/understanding-passportjs-authentication-flow/
看起来 PassportJS/Express 将已登录的用户存储在两个位置
req.user
并且
req.session.passport.user
为什么两个都需要?我该使用哪一个?当我使用passport注销时,它会同时销毁req.user和req.session.passport.user吗?
req.session.passport.user
实际上不是从会话 cookie 中提取信息吗? 除非您禁用了会话,否则req.user
实际上只是映射到req.session.passport.user
吗? 我看不出这两者实际上有什么不同。 现在,如果您以某种方式在 cookie 中存储实际数据(而不仅仅是会话 ID),然后通过req.cookies
访问该数据,则它肯定可能过时,但这是完全不同的情况。 - nextgentechreq.session.passport.user
是从会话cookie中获取的(没有其他地方)。 这是基于cookie的会话认证的工作方式,除非您使用其他形式。 - rdeggesreq.session
访问数据将始终包含最新的会话信息。 - nextgentech