禁用 cookie 时的护照会话管理

Posted

技术标签:

【中文标题】禁用 cookie 时的护照会话管理【英文标题】:Passport Session management when cookies are disabled 【发布时间】:2014-11-29 13:48:19 【问题描述】:

我正在制作一个 Web 应用程序,其中 AgularJS 作为我的前端,Sails(NodeJS + Express) 作为我的后端。 我正在使用护照(本地护照)进行身份验证,在我在 Safari 中对其进行测试之前,一切似乎都很好。我注意到会话总是返回 null。

我正在使用护照会话进行授权,但我无法使用 req.session.passport 获取会话变量,因为它是空的。我发现我在 Safari 中禁用了 cookie。 这会破坏我的应用程序的授权。有没有办法让会话管理即使在浏览器中禁用 cookie 也能正常工作?

【问题讨论】:

【参考方案1】:

cookies 的替代品是令牌。

令牌的一种流行实现是JSON Web Tokens (JWT)。有一个模块用于将它们与 Express 一起使用,称为 express-jwt 和一个 blog post 显示如何使用它。要与 Passport 集成,您可以使用 this SO answer 作为指南。

【讨论】:

以上是关于禁用 cookie 时的护照会话管理的主要内容,如果未能解决你的问题,请参考以下文章

Java Web之会话管理一: 使用Cookie进行会话管理

JavaWeb会话管理:Cookie

Node.js/Express.js 会话管理 cookie 为会话 cookie

会话管理之Cookie技术

关于cookie(会话cookie与持久cookie)

使用Cookie进行会话管理