node.js - Express Passport.js : req. 用户 VERSUS req.session.passport.user

标签 node.js express passport.js

根据这篇文章

http://toon.io/understanding-passportjs-authentication-flow/

看起来 PassportJS/Express 将登录用户存储在两个地方

req.user

req.session.passport.user

为什么两者兼而有之?我应该使用哪一个?当我使用 Passport 注销时,它会破坏 req.user 和 req.session.passport.user 吗?

最佳答案

你应该总是,总是在你自己的代码中使用 req.user -- 这很重要,因为如果你使用 req.session.passport.user,您实际上是从 session cookie(可能已过时)中提取用户信息。

最好依赖 req.user 而不是直接依赖 cookie 数据,因为根据您的实现,这些信息可能已经过时了。

回答您的问题:如果您注销用户,req.sessionreq.user 都将不再可用。

关于node.js - Express Passport.js : req. 用户 VERSUS req.session.passport.user,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27055744/

相关文章:

node.js - 将自定义查询参数添加到 Passport auth0 策略验证请求

node.js - 在 child_process.exec 中执行 'npm install' 时,控制台输出一团糟

javascript - 如何在异步函数中调用父类函数

angular - 使用 Angular 进行 Steam 身份验证

javascript - 如果用户未使用 Nodejs 登录,如何添加注销按钮

javascript - 如何使用 Underscore.js 作为 Express v3 的 View 引擎

linux - 如何删除 linux mint 13 上的 Node ?

javascript - 如何在 Mongoose 中推送元素父级?

node.js - 如何调用路由模块(node.js)中的内部函数?

node.js - 长时间运行的 App Engine 脚本 "Quitting on terminated signal"