仍然需要使用带有 passport.js 的 cookie-parser 吗?

Posted

技术标签:

【中文标题】仍然需要使用带有 passport.js 的 cookie-parser 吗?【英文标题】:Usage of cookie-parser with passport.js still needed? 【发布时间】:2015-05-21 06:31:02 【问题描述】:

node.js 中找不到关于一般passport.js 安装和声明的任何信息(在passport.js 网站上)。 在教程中,我总是看到express session 中间件和cookie-parserpassport 的要求,但session docs (https://github.com/expressjs/session) 注释:

'从 1.5.0 版本开始,该模块不再需要使用 cookie-parser 中间件来工作。该模块现在直接在 req/res 上读取和写入 cookie。如果此模块和 cookie-parser 之间的 secret 不同,使用 cookie-parser 可能会导致问题。'

那么由于某些原因,我是否需要将sessioncookie-parser 用于passport,或者我只能使用session,那我需要做些调整吗?

【问题讨论】:

【参考方案1】:

不,护照本身不需要 cookie-parser 中间件。如果您想要会话持久身份验证,那么您将需要 express-session 中间件,使用需要 cookie-parser,但是现代版本的 express 不再有这个要求(当前版本的 express- session 直接读写 cookie)。

【讨论】:

哈哈,这是一个很老的问题,但是是的,答案完全正确,谢谢。 确实如此。我来寻找相同的信息,发现还没有人回答你的问题,所以我想我会为下一个来找的人回答。顺便说一句,护照的文档确实需要更新:许多示例不适用于最新版本的 Express。 很高兴你做到了! @Wrecks

以上是关于仍然需要使用带有 passport.js 的 cookie-parser 吗?的主要内容,如果未能解决你的问题,请参考以下文章

在带有 React.js 前端的 Node.js 上使用 Passport.js 进行身份验证

带有 Passport 的 Node.js 身份验证:如果缺少字段,如何闪烁消息?

带有passport.js的微服务认证架构

用户不是带有 Passport 的 Express 中的构造函数

通过设置 cookie 使用 Phantom.Js 打开受密码保护的站点 (Passport.js)

Passport js 序列化用户和反序列化用户