node.js - 同一服务器上且具有相同 cookie 加密 key 的两个 NodeJs 应用程序可以共享 cookie 吗?

标签 node.js express cookies server express-session

我的应用程序套件中有两个 Web 应用程序,它们都在同一服务器上运行 NodeJ。我希望用户登录一个并自动登录另一个。我认识到我可以发送包含所有必要数据的 GET 请求,但我宁愿自动同步 cookie。如果我使用快速 session 在两个应用程序上为 cookie 提供相同的 key ,它们可以共享 cookie 吗?如果不是,将 Cookie 从一个站点传输到另一个站点的最佳且最安全的方法是什么?

最佳答案

来自浏览器的 Cookie 与域相关联,而不是与端口相关联。因此,同一域上的多个服务器,但不同的端口将自动从浏览器接收相同的 cookie,只要 cookie 不限于特定路径,您无需执行任何操作。

如果您愿意,您还可以将 Cookie 配置为与子域共享,这样即使子域上的不同主机也可以共享 Cookie。

I want a user to log into one and be automatically signed in on the other.

两台服务器都会看到相同的 cookie,因此如果您的登录机制能够识别另一台服务器中一台服务器的 cookie,那么它应该可以正常工作。

If I use express-session to give cookies the same secret key on both apps, can they share cookies?

两个独立的 Node.js 应用程序将有两个独立的快速 session 实例。您必须将 session 数据存储在一个公共(public)的共享数据库中,以便两个单独的服务器能够访问相同的 session 数据。

关于node.js - 同一服务器上且具有相同 cookie 加密 key 的两个 NodeJs 应用程序可以共享 cookie 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49289373/

相关文章:

node.js - 从 MongoDB Atlas 获取日期时间 - Node.js

node.js - 使用 node-webshot 捕获网页图像的一些问题

express - 我可以在 SendGrid 模板中使用带有替换标签的图像吗?

Jquery,如何让 cookies 插件记住 anchor 标记上的当前类

python - 使用 Mechanize 接受和发送 Cookie

javascript - Node.js 中的 foreach 异步函数

node.js - 如何在没有 Typescript/TSD 定义的情况下将库导入 Node ?

node.js - 通过请求正文将 Sails.js 路由绑定(bind)到模型蓝图操作

javascript - 使用 Node 和 Express 4 使用 res.json 中的数据时出现非法 token

internet-explorer - IE9 和 IE 10 的 cookie 大小限制是多少?